无法为形状为“(?, 3)”的 Tensor u'/X:0' 提供形状 (32, 1, 3) 的值

Cannot feed value of shape (32, 1, 3) for Tensor u'/X:0', which has shape '(?, 3)

我想创建一个加固项目,但遇到了一些问题。

我的神经网络有一个 class。由一个输入层、两个隐藏层和一个输出层组成。它是用 tflearn 创建的。

class Network():
    self.inputs, self.outputs = self.createNetwork()
    [...]
    def createNetwork(self):

        # Input-Layer
        inputs = tflearn.input_data(shape=[None, 3])

        # Hidden-Layer L1
        net = tflearn.fully_connected(inputs, 400, activation='relu')                                   

        # Hidden Layer L2
        net = tflearn.fully_connected(net, 300, activation='relu')                                   

        # Final layer weights are init to Uniform[-3e-3, 3e-3]
        weight_init_final = tflearn.initializations.uniform(minval=-0.003, maxval=0.003)
        output = tflearn.fully_connected(net, 1, activation='tanh', weights_init=weight_init_final)

        return inputs, output

以及预测值的方法

def predict(self, inputs):
   return self.sess.run(self.outputs, feed_dict={
   self.inputs: inputs
   })

我以 32 的批量大小进行训练,并希望预测一个值。

network.predict(test_batch)

遗憾的是我得到一个错误 'Cannot feed value of shape (32, 1, 3) for Tensor u'/X:0',形状为'(?, 3)' test_batch.shape 结果为 (32, 1, 3)

您的输入层期望形状为 (?,3) --> inputs = tflearn.input_data(shape=[None, 3])
input_shape 应该是 (None, 1, 3) 以匹配数据的形状。