在以下代码中,None用来声明占位符的大小。
x_data = tf.placeholder(tf.int32, [None, max_sequence_length])
y_output = tf.placeholder(tf.int32, [None])
Run Code Online (Sandbox Code Playgroud)
据我所知,这None用于指定可变批次尺寸。但是,在每个代码中,我们都有一个显示批处理大小的变量,例如:
batch_size = 250
Run Code Online (Sandbox Code Playgroud)
那么,None在这种情况下,有什么理由要使用,而不是简单地将占位符声明为吗?
x_data = tf.placeholder(tf.int32, [batch_size, max_sequence_length])
y_output = tf.placeholder(tf.int32, [batch_size])
Run Code Online (Sandbox Code Playgroud)
这样网络的输入就不会局限于固定大小的批次,并且您可以稍后重用学习到的网络来预测单个实例或任意长的批次(例如一次预测所有测试样本)。
换句话说,它在训练期间作用不大,因为无论如何,批次在训练期间通常具有固定大小,但它使网络在测试时更有用。
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |