TensorFlow如何处理任何形状?

时间:2017-09-23 16:25:16

标签: tensorflow

我正在尝试实现一个简单的计算图框架,并使用简单的神经网络对其进行测试,主要是通过TensorFlow学习。现在我想清楚TensorFlow如何处理无形状张量。

this example中,CGColor的形状为UIColor.blue.cgcolorX的形状为[None, n_input]weights['h1']的形状为[n_input, n_hidden_1]。当它尝试执行此操作时:biases['b1'][n_hidden_1]应该具有形状layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1']),以及TensorFlow如何将其添加到tf.matmul(x, weights['h1'])?基于documentation[None, n_hidden_1]仅在2个操作数具有相同形状时有效。如果我们使用大小为10的批处理运行,则biases['b1']将具有tf.add形状,并且不应与tf.matmul(x, weights['h1'])一起添加。

1 个答案:

答案 0 :(得分:0)

[None, n_input]的理想含义是:None指的是我们可以给定的Batch_size,而n_input则是指要分析的特征数量。

因此n_input表示784个像素数据。因此,我们将实际尝试做X.W+b的意思是X[None, 784])乘以[784, 256],模型输出[None, 256],现在增加了偏差,这里+也称为广播+,理想情况下,它会为256个隐藏的单元格增加256个偏差