Объект tenensflow. python .framework.ops.EagerTensor не имеет атрибута 'squeeze'. - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь использовать huskarl и загрузить демонстрационные файлы, чтобы убедиться, что я все установил правильно. Однако, когда я запускаю любой из демонстрационных файлов, меня встречает эта трассировка:

Traceback (most recent call last):
  File "ddpg-pendulum.py", line 48, in <module>
    sim.train(max_steps=30_000, visualize=True, plot=plot_rewards)
  File "C:\Users\Project Apollo\AppData\Local\Programs\Python\Python37\lib\site-packages\huskarl\simulation.py", line 32, in train
    self._sp_train(max_steps, instances, visualize, plot)
  File "C:\Users\Project Apollo\AppData\Local\Programs\Python\Python37\lib\site-packages\huskarl\simulation.py", line 66, in _sp_train
    self.agent.train(step)
  File "C:\Users\Project Apollo\AppData\Local\Programs\Python\Python37\lib\site-packages\huskarl\agent\ddpg.py", line 101, in train
    target_qvals[non_final_mask] = self.target_critic.predict_on_batch([target_actions, np.array(non_final_last_next_states)]).squeeze()
AttributeError: 'tensorflow.python.framework.ops.EagerTensor' object has no attribute 'squeeze'

Любая идея, в чем дело?

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Ошибка в функции сжатия, используемой в конце

self.target_criti c .predict_on_batch ([target_actions, np.array (non_final_last_next_states)]). Squeeze ()

Попробуйте используйте tf.squeeze() или np.squeeze()

0 голосов
/ 10 февраля 2020

Итак, я понял, что huskarl совместим только с tenorflow == 2.0.0a0. Я обнаружил это, удалив tf и переустановив его и поймав ошибку. : /

...