У меня проблема с созданием бэкэнд-функции keras, чтобы минимизировать 2 функции потери.
Полный код в GitHub репозиторий
Реализация этой функции находится в classes.py
Полный текст ошибки здесь:
NotFoundError Traceback (most recent call last)
<ipython-input-7-ad3282901395> in <module>()
16 t0 = datetime.now()
17
---> 18 total_reward = play_one_episode(env, agent)
19 dt = datetime.now() - t0
20 print("episode: {0}/{1}, duration: {2}".format(e + 1, NUM_EPISODES, dt))
<ipython-input-6-77767139f4df> in play_one_episode(env, agent)
8 next_state, reward, done, info = env.step(action)
9 total_reward += reward
---> 10 agent.train(state, next_state, reward, done)
11 state = next_state.copy()
12 return total_reward
<ipython-input-5-c26e933e7af7> in train(self, state, next_state, reward, done)
86 target[0][0] = reward + self.discount_factor * next_value
87
---> 88 self.optimizer[0]([np.reshape(state, [1, self.state_size]), advantages])
89 self.optimizer[1]([np.reshape(state, [1, self.state_size]), target])
90
/tensorflow-2.1.0/python3.6/tensorflow_core/python/keras/backend.py in __call__(self, inputs)
3725 value = math_ops.cast(value, tensor.dtype)
3726 converted_inputs.append(value)
-> 3727 outputs = self._graph_fn(*converted_inputs)
3728
3729 # EagerTensor.numpy() will often make a copy to ensure memory safety.
/tensorflow-2.1.0/python3.6/tensorflow_core/python/eager/function.py in __call__(self, *args, **kwargs)
1549 TypeError: For invalid positional/keyword argument combinations.
1550 """
-> 1551 return self._call_impl(args, kwargs)
1552
1553 def _call_impl(self, args, kwargs, cancellation_manager=None):
/tensorflow-2.1.0/python3.6/tensorflow_core/python/eager/function.py in _call_impl(self, args, kwargs, cancellation_manager)
1589 raise TypeError("Keyword arguments {} unknown. Expected {}.".format(
1590 list(kwargs.keys()), list(self._arg_keywords)))
-> 1591 return self._call_flat(args, self.captured_inputs, cancellation_manager)
1592
1593 def _filtered_call(self, args, kwargs):
/tensorflow-2.1.0/python3.6/tensorflow_core/python/eager/function.py in _call_flat(self, args, captured_inputs, cancellation_manager)
1690 # No tape is watching; skip to running the function.
1691 return self._build_call_outputs(self._inference_function.call(
-> 1692 ctx, args, cancellation_manager=cancellation_manager))
1693 forward_backward = self._select_forward_and_backward_functions(
1694 args,
/tensorflow-2.1.0/python3.6/tensorflow_core/python/eager/function.py in call(self, ctx, args, cancellation_manager)
543 inputs=args,
544 attrs=("executor_type", executor_type, "config_proto", config),
--> 545 ctx=ctx)
546 else:
547 outputs = execute.execute_with_cancellation(
/tensorflow-2.1.0/python3.6/tensorflow_core/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
65 else:
66 message = e.message
---> 67 six.raise_from(core._status_to_exception(e.code, message), None)
68 except TypeError as e:
69 keras_symbolic_tensors = [
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)
NotFoundError: Resource localhost/_AnonymousVar10/N10tensorflow3VarE does not exist.
[[node AssignAddVariableOp (defined at <ipython-input-5-c26e933e7af7>:52) ]] [Op:__inference_keras_scratch_graph_748]
Function call stack:
keras_scratch_graph
Я запустил этот код на своем компьютере и в GoogleColab и получил ту же ошибку. в чем проблема и как ее решить?