TensorFlowTFLearn:ValueError:无法为形状为'(?,10)'的Tensor u'target Y:0'输入形状(64,)的值

TensorFlowTFLearn:ValueError:无法为形状为'(?,10)'的Tensor u'target Y:0'输入形状(64,)的值,第1张

TensorFlow / TFLearn:ValueError:无法为形状为'(?,10)'的Tensor u'target /Y:0'输入形状(64,)的值 简短答案

在的线41
MNIST例如,还必须在输出尺寸改变10到1

network= fully_connected(network, 10, activation='softmax')
network =fully_connected(network, 1, activation='linear')
。请注意,您可以删除最终的softmax。

查看您的代码,似乎您有一个目标值

Y
,这意味着将 L2损耗
mean_square

(您将在此处找到所有可用的损耗)一起使用:

regression(network, optimizer='adam', learning_rate=0.01,      loss='mean_square', name='target')

另外,将Y和Y_test整形为形状(batch_size,1)。


长答案:如何分析错误并查找错误

这是分析错误的方法:

  • 错误是
    Cannot feed value ... for Tensor 'target/Y'
    ,这意味着它来自 feed_dict 参数Y。
  • 同样,根据错误,您尝试输入Y值,
    of shape (64,)
    而网络期望使用shape
    (?, 10)
    • 它期望形状为(batch_size,10),因为最初它是MNIST的网络(10个类)
  • 现在,我们要更改Y的网络期望值。
    • 在代码中,我们看到最后一层
      fully_connected(network, 10, activation='softmax')
      正在返回大小为10的输出
    • 我们将其更改为大小为1且没有softmax的输出:
      fully_connected(network, 1, activation='linear')

最后,这不是错误,而是错误的 模型架构



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5643034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存