action = self.sess.run(self.actor_net.output, feed_dict={self.state_ph: state.reshape(1, 2)})[0] # Add batch dimension to single state input, and remove batch dimension from single action output AttributeError: 'list' object has no attribute 'reshape'
时间: 2024-03-17 17:43:32 浏览: 74
python报错: 'list' object has no attribute 'shape'的解决
5星 · 资源好评率100%
这个错误通常是因为代码中使用了一个列表对象,而列表对象没有 reshape() 方法,导致出现了 AttributeError 错误。具体来说,错误提示 "'list' object has no attribute 'reshape'" 表示列表对象没有 reshape() 方法,因此无法执行这个操作。
在这段代码中,state 变量可能是一个列表对象,而不是一个 numpy 数组。解决这个问题的方法是将 state 变量转换为 numpy 数组,然后再调用 reshape() 方法。可以使用以下代码来解决这个问题:
```
state = np.array(state)
action = self.sess.run(self.actor_net.output, feed_dict={self.state_ph: state.reshape(1, 2)})[0]
```
这里使用 numpy 的 array() 函数将 state 转换为 numpy 数组,然后再调用 reshape() 方法将其形状改为 (1, 2)。这样就可以避免 "'list' object has no attribute 'reshape'" 的 AttributeError 错误。
除了上述方法,还可以使用其他将列表对象转换为 numpy 数组的方法,例如 np.asarray() 函数。需要根据具体情况选择合适的方法。
阅读全文