【发布时间】:2016-12-06 14:36:21
【问题描述】:
我正在关注Tensorflow MNIST tutorial。
通读理论/直觉部分,我开始理解x,输入,是一个列矩阵。
实际上,在描述softmax时,x显示为列矩阵:
但是,在tensorflow 中声明的 x 看起来像这样:
x = tf.placeholder(tf.float32, [None, 784])
我读到 x 是一个可变长度 ( None ) 的数组,该数组的每个元素都是一个大小为 784 的列矩阵。
尽管x 被声明为列矩阵数组,但它的使用就像它只是一个列矩阵:
y = tf.nn.softmax(tf.matmul(x, W) + b)
在示例中,W 和 b 被直观地声明为形状为 [784, 10] 和 [10] 的变量,这是有道理的。
我的问题是:
Tensorflow 会自动对 x 中的每个列矩阵进行 softmax 操作吗?
我是否正确假设 [None, value] 直观地说是一个可变大小的数组,每个元素都是一个大小值的数组?或者 [None, value] 是否也可能意味着一个大小值数组? (没有它在容器数组中)
将理论描述(其中 x 是列向量)链接到实现(其中 x 是列矩阵数组)的正确方法是什么?
感谢您的帮助!
【问题讨论】:
-
一个困扰我好几天的问题!在答案中添加了我的解释
标签: python machine-learning tensorflow mnist