【问题标题】:Tensorflow/TFLearn - ValueError: Cannot feed value of shape (64,) for Tensor 'target/Y:0', which has shape '(?, 1)'Tensorflow / TFLearn - ValueError:无法为张量“目标/ Y:0”提供形状(64,)的值,其形状为“(?,1)”
【发布时间】:2017-08-30 17:06:54
【问题描述】:

我一直在尝试使用 tflearn 和我自己的数据集执行深度神经网络来预测值。

我的神经网络基于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: 无法为形状为“(?, 1)”的张量“target/Y:0”提供形状 (64,) 的值

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

我使用 Python 3.6 和 TFlearn 0.3.2

【问题讨论】:

    标签: python tensorflow tflearn


    【解决方案1】:

    你可以重塑标签

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

    【讨论】:

    • 谢谢!它对我有用。 ¿ 为什么我的错误在于重塑?我想了解它。
    • 错误与形状不匹配有关。 target 占位符的排名为 2,但输入 labels 的排名为 1(重塑之前)。占位符的 feed 值应与占位符的等级和形状相同;使用 reshape 实现。
    • 感谢您的回答!
    猜你喜欢
    • 2016-12-04
    • 2021-07-01
    • 1970-01-01
    • 2019-02-01
    • 2018-03-24
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    相关资源
    最近更新 更多