NotFoundError: Создание серверной функции keras для оптимизации функции - PullRequest
0 голосов
/ 10 февраля 2020

У меня проблема с созданием бэкэнд-функции 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 и получил ту же ошибку. в чем проблема и как ее решить?

...