无法为形状为((?,3)

时间:2018-12-07 16:28:09

标签: python tensorflow shapes tflearn

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

我的神经网络有一个课程。由一个输入层,两个隐藏层和一个输出层组成。它是使用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)

可悲的是我得到一个错误 '无法为张量u'/ X:0'输入形状为((?,3)'的形状(32,1,3)的值 test_batch.shape结果为(32,1,3)

1 个答案:

答案 0 :(得分:0)

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