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

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

我需要了解如何最好地格式化图像数据,包括用于训练的芯片/补丁和用于分类的目标图像。我有一些问题:

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

回答:

在个人电脑上使用的最佳精度是float32,因为许多原因,比如更高的精度使得计算更加准确,这更好,但不知为何float16在PC上比float32慢(我不记得为什么了),而float64在普通机器上慢得无法使用。

所以

  1. 通常你无论如何都需要使用float32作为输入。所以如果它最初就是float32,就直接使用它。

  2. 是的,但我认为它们都会在fitpredict过程中转换为所需的精度,这在$HOME/.keras/keras.json中设定。

  3. 我认为这不是必须的,但标准化后的重新调整有助于收敛,不过,谷歌通常简单地将数据重新调整到-1到1之间。

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

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注