TensorFlow 中的训练芯片和目标图像格式

Training Chip and Target Image format in TensorFlow

我正在尝试为 Sentinel Image 构建土地覆盖分类模型。我使用的图像通道(波段)是 32 位浮点数。

我需要了解如何最好地格式化图像数据,包括用于训练的 chips/patches 和用于分类的目标图像。我有几个问题?

  1. 我需要将原始图像和训练芯片从 32 位转换为其他深度吗?
  2. 我是否需要确保训练 chips/patches 和目标具有相同的深度(32 位、16 位或其他)?
  3. 我需要转售我的数据吗?我看到一些论文在 0-1 或 0-255 之间重新缩放数据?
  4. 数据深度是否影响学习和预测的性能?

非常感谢。

马兹

在 PC 上使用的最佳精度是 float32,原因有很多,例如,更高的精度使计算更准确,这是更好的,但不知何故 float16float32 慢PC(我不记得为什么)和 float64 在普通机器上无法使用。

所以

  1. 你通常需要使用 float32 作为输入。所以如果它首先是 float32 那么就这样使用它。

  2. 是的,但我认为它们都会在 fitpredict 期间转换为所需的精度。它在 $HOME/.keras/keras.json.

  3. 我认为这不是必需的,但是以 std 为中心的重新缩放有助于收敛,不过,google 总是简单地重新缩放到 -1 to 1.

  4. 确实如此,但正如我所说,更高的精度提供更好的准确性,但速度更慢。