繁体   English   中英

为什么在tensorflow中使用None作为批量维度?

[英]Why use None for the batch dimension in tensorflow?

在以下代码中, None用于声明占位符的大小。

x_data = tf.placeholder(tf.int32, [None, max_sequence_length]) 
y_output = tf.placeholder(tf.int32, [None])

据我所知,此None用于指定变量批量维度。 但是,在每个代码中,我们都有一个显示批量大小的变量,例如:

batch_size = 250

那么,有没有理由在这种情况下使用None而不是简单地将占位符声明为?

x_data = tf.placeholder(tf.int32, [batch_size, max_sequence_length]) 
y_output = tf.placeholder(tf.int32, [batch_size])

只是为了使网络的输入不受限于固定大小的批次,您可以稍后重新使用学习的网络来预测单个实例或任意长批次(例如,一次预测所有测试样本)。

换句话说,它在培训期间没有做太多,因为批次在转换过程中通常具有固定的大小,但它使网络在测试时更有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM