【问题标题】:tensorflow placeholder - understanding `shape=[None,`tensorflow 占位符 - 理解 `shape=[None,`
【发布时间】:2018-07-16 17:07:12
【问题描述】:

我正在尝试理解 tensorflow 中的占位符。具体而言,shape=[None, 在下面的示例中意味着什么。

X = tf.placeholder(tf.float32, shape=[None, 128, 128, 3], name="X")

This 答案描述为:

您可以将 TensorFlow 中的占位符视为 指定将被输入的数据的形状和类型的操作 graph.placeholder X 定义了未指定数量的形状行 float32 类型的 (128, 128, 3) 将被输入到图中。一种 占位符不保存状态,仅定义类型和形状 流入图表的数据。

当它说“未指定数量的 ROWS”时,它真的意味着未指定数量的形状为 128*128*3 的张量吗?就像您正在为 CNN 的输入图像创建输入图像的占位符一样?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    第一个维度表示样本数(在您的情况下为图像)。您不想硬编码特定数字的原因是为了保持灵活性并允许任意数量的样本。通过将None 作为张量的第一个维度,您可以启用它。考虑以下 3 个非常常见的操作:

    1. 批量训练:您将使用长度相对较小(32、64、...)的批量样本
    2. 训练评估:评估所有训练样本的性能
    3. 测试评估:所有测试样本的评估性能

    所有这些通常都适用于不同数量的样本。不过,您不必担心,因为 None 已为您提供保障。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多