2017-08-30 127 views
0

我一直试图执行深度神经网络使用tflearn和我自己的数据集预测一个值。Tensorflow/TFLearn - ValueError:无法为Tensor'target/Y:0'形状(64,)形状'(?,1)'提供形状值(64,)

我的神经网络是基于在Titanic的例子,但与我改变了输出层从2到1的差和“SOFTMAX”到“线性”的活化:

from tflearn.data_utils import load_csv 

data, labels = load_csv('data.csv') 

# Build neural network 
net = tflearn.input_data(shape=[None, 5]) 
net = tflearn.fully_connected(net, 5, activation='sigmoid') 
net = tflearn.fully_connected(net, 3, activation='sigmoid') 
net = tflearn.fully_connected(net, 1, activation='linear') 
net = tflearn.regression(net, optimizer='sgd', loss='mean_square', learning_rate=0.1, name='target') 

# Define model 
model = tflearn.DNN(net) 
# Start training (apply gradient descent algorithm) 
model.fit(data, labels,show_metric=True) 

我得到出现以下错误:

ValueError: Cannot feed value of shape (64,) for Tensor 'target/Y:0', which has shape '(?, 1)'

我已经在stackoverflow中搜索了我的问题,但没有一个答案适用于我。

我使用Python 3.6和0.3.2 TFlearn

回答

0

你可以重塑标签

data, labels = load_csv('data.csv') 
labels = np.reshape(labels, (-1, 1)) 
+0

谢谢!它为我工作。 ¿为什么我的错误在重塑?我想了解它。 – Marc

+0

该错误与形状不匹配有关。 “目标”占位符的等级为2,但输入“标签”的等级为1(重塑之前)。占位符的Feed值应与占位符的级别和形状相同;使用其重新塑造其实现。 –

+0

感谢您的回答! – Marc

相关问题