Tensorflow:将批量大小设置为None的任何缺点?

时间:2017-04-22 12:40:02

标签: python tensorflow

有时建议在创建网络时将批次大小设置为“无”,以使其不与任何特定批量大小相关联。

我的问题是,在评估之前,让尺寸(批量大小,但也可能是某些特殊网络的输入宽度或高度)的张量流中是否存在任何损失?让网络提前知道批量大小有什么好处吗?

1 个答案:

答案 0 :(得分:0)

tf.placeholder()根本不需要您指定形状。正如您从文档中看到的那样,默认情况下占位符根本没有形状。

设置形状的优点是可以更快地捕获各种错误。例如,这将运行没有任何问题

a = tf.placeholder(tf.float32, [None], 'a')
b = tf.placeholder(tf.float32, [None], 'b')
tf.add(a, b)

而如果你要指定一个形状

a = tf.placeholder(tf.float32, [3], 'a')
b = tf.placeholder(tf.float32, [5], 'b')
tf.add(a, b)

它会抱怨不兼容的形状,你可以快速解决你的问题(假设有一个包含数百个操作的图表,你运行它3个小时才发现有错误)