【发布时间】:2017-04-22 12:40:02
【问题描述】:
有时建议在网络创建期间将批量大小设置为无,这样它就不会绑定到任何特定的批量大小。
我的问题是,在评估之前让维度(批量大小,但也可以是某些特殊网络的输入宽度或高度)未知时,张量流是否有任何惩罚?让网络提前知道batch size有什么好处吗?
【问题讨论】:
标签: python tensorflow
有时建议在网络创建期间将批量大小设置为无,这样它就不会绑定到任何特定的批量大小。
我的问题是,在评估之前让维度(批量大小,但也可以是某些特殊网络的输入宽度或高度)未知时,张量流是否有任何惩罚?让网络提前知道batch size有什么好处吗?
【问题讨论】:
标签: python tensorflow
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 小时才发现有错误)
【讨论】: