'tensorflow.python.framework.ops.EagerTensor' 对象没有属性 'squeeze'

'tensorflow.python.framework.ops.EagerTensor' object has no attribute 'squeeze'

我正在尝试使用 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'

知道哪里出了问题吗?

所以我发现huskarl只兼容tensorflow==2.0.0a0。我通过卸载 tf 并重新安装它并发现错误来解决这个问题。 :/

最后使用的压缩函数有错误

self.target_critic.predict_on_batch([target_actions, np.array(non_final_last_next_states)]).squeeze()

尝试使用tf.squeeze()np.squeeze()