无法为形状为“(?, 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)
以匹配数据的形状。
我想创建一个加固项目,但遇到了一些问题。
我的神经网络有一个 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)
以匹配数据的形状。