tf.nn.bias_add(value, bias) 的输出是否与 value 的形状不同

Does the output of tf.nn.bias_add(value, bias) ever have a different shape than shape of value

所以在 tensorflow 中的卷积神经网络 cifar10 示例中,在 cifar10.py 的 inference() 方法中,我看到了几个这样的实例:

bias = tf.reshape(tf.nn.bias_add(conv, biases),conv.get_shape().as_list())

似乎重塑是为了确保 bias_add(value, bias) 的输出具有 value

的形状

我的问题是,tf.reshape() 是必要的吗?有没有tf.nn.bias_add(value, bias)不会return张量和value一样形状的情况?

tf.nn.bias_add(value, bias)shape of the result 始终与值的形状相同,因此对 tf.reshape() 的这些调用是不必要的。

偶尔,调用tf.reshape()用于添加关于形状的显式信息,但recommended way to do this, per the FAQ, is to use the Tensor.set_shape()方法添加形状信息而不向图形添加冗余操作。