当前位置: 代码迷 >> 综合 >> 为什么tf.placeholder()中要用None
  详细解决方案

为什么tf.placeholder()中要用None

热度:61   发布时间:2023-11-18 03:58:43.0

我们先看一下tf.placeholder()的用法

tf.placeholder(dtype,shape=Nonename=None)

参数:

  • dtype:张量的数据类型
  • shpe:张量的形状
  • name:张量的名称

举例:

input_x = tf.placeholder(tf.int32, [None, 50, 128], 'input_x')

为什么这里第一维要用None呢,用batch_size(一般来说默认batch_size为训练时用的batch_size,即train_batch_size)不行吗?原因是在训练阶段我们可以以128条数据(train_batch_size=128)进行训练,而预测阶段我们可以对1条数据(eval_batch_size=1)进行预测,如果用train_batch_size把第一维固定死了,那在预测的时就必须一次性输入128条数据进行预测,所以为了灵活性,这里设为None。

  相关解决方案