gpt4 book ai didi

python - 如何为 tensorflow 批量输入?

转载 作者:行者123 更新时间:2023-11-30 22:46:58 24 4
gpt4 key购买 nike

我正在尝试将我正在开发的神经网络的输入批处理在一起,以便我可以将它们输入到 tensorflow 中,就像在 tensorflow MNIST 教程中一样。但是我找不到这样做的方法,并且教程中也没有介绍它。

input = tf.placeholder(tf.float32, [10, 10])
...
accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))
inputs = #A list containing 50 of the inputs
sess.run(accuracy, feed_dict={input: inputs})

这将引发以下错误:

ValueError: Cannot feed value of shape (50, 10, 10) for Tensor'Placeholder:0', which has shape '(10, 10)'

我明白为什么我会收到上述错误,我只是不知道如何让 tensorflow 将我的输入视为一批输入,而不是认为我试图将其全部输入为一个形状。

非常感谢您的帮助!

最佳答案

您需要修改占位符的签名。让我们分解一下错误消息:

ValueError: Cannot feed value of shape (50, 10, 10) for 
Tensor'Placeholder:0', which has shape '(10, 10)'

您的 inputs 变量的形状为 (50, 10, 10),这意味着 50 个形状为 ( 10, 10) 和张量 Placeholder:0 是您的输入变量。如果你打印(input.name),你将得到值Placeholder:0无法提供值意味着它无法将输入分配给输入

第一个快速解决方案是将占位符输入的形状修复为

input = tf.placeholder(tf.float32, [50, 10, 10])

但是每次您想要修改批处理大小时,您都需要更新输入中的批处理大小。指定批量大小的更好方法是使用 None 为批量大小设置未定义的形状尺寸:

input = tf.placeholder(tf.float32, [None, 10, 10])

现在,这适用于任何批量大小,从 1 到架构的硬件限制。

关于python - 如何为 tensorflow 批量输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40685452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com