action = self.sess.run(self.actor_net.output, {self.state_ph:np.expand_dims(state, 0)})[0] ValueError: Cannot feed value of shape (1, 1, 2) for Tensor 'Placeholder_6:0', which has shape '(?, 2)'
时间: 2024-03-16 18:41:57 浏览: 66
解决Tensorflow sess.run导致的内存溢出问题
这个错误的原因是你试图将一个形状为(1, 1, 2)的张量作为输入传递给一个形状为(?, 2)的占位符。这意味着你的神经网络期望输入一个形状为(?, 2)的张量,其中 ? 表示输入的大小可以是任意值。
要解决这个问题,你需要检查代码中的占位符和输入张量的形状是否匹配。你可以使用 reshape() 函数改变输入张量的形状,使其与占位符的形状匹配。例如,如果你的输入张量是一个形状为(1, 1, 2)的张量,你可以使用以下代码将其 reshape 为形状为(1, 2)的张量:
```
state = state.reshape(1, 2)
```
然后你可以将这个形状为(1, 2)的张量作为输入传递给神经网络:
```
action = self.sess.run(self.actor_net.output, {self.state_ph: state})[0]
```
阅读全文