有时建议在创建网络时将批次大小设置为“无”,以使其不与任何特定批量大小相关联。
我的问题是,在评估之前,让尺寸(批量大小,但也可能是某些特殊网络的输入宽度或高度)的张量流中是否存在任何损失?让网络提前知道批量大小有什么好处吗?
答案 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个小时才发现有错误)