【发布时间】:2016-12-10 20:05:48
【问题描述】:
最近开始使用 tensorflow,我对 feed_dict 的功能感到非常困惑。
查看 tensorflow 网站上的 mnist 示例,x 是一个符号占位符,每次训练迭代都会填充一批新的图像,所以这里的“None”也可以是“batch_size”
x = tf.placeholder(tf.float32, shape=[None, 784])
在查看本教程的卷积部分时,有一个命令可以将 x 从扁平的 1x784 形状重新整形为 2D 图像 28x28 形状
x_image = tf.reshape(x, [-1,28,28,1])
在训练循环期间,x 通过命令输入
train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
我的问题是,当我们向 x 输入值时,tensorflow 会自动向量化每个涉及 x 的操作吗?所以例如当我们定义 op 时
h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)
这将自动在整个批次中起作用?
如果 x 是 ndarray 且每一行都是扁平图像,因为我们在 x 占位符 tensorflow 中指定形状“None”会自动知道将每一行用作单独的训练样本,并对所有后续操作进行矢量化?
【问题讨论】:
标签: tensorflow