Deeplearning4j数据应该如何归一化
Deeplearning4j how should data be normalized
在 Deeplearning4j 中 model.fit 我的输入数据应该如何归一化?
目前我对大量数据进行迭代。
我可以看到有些人对完整的数据集进行了标准化。
在我看来,在 model.fit
.
之前对每次迭代的数据集进行归一化更为合乎逻辑。
是否有一些在迭代器内编写规范化代码的最佳实践?
那么预测的输入呢?
您应该始终针对您的训练集进行标准化。如果你只对每个批次进行归一化,当你只有一个样本时,你会在为推理进行归一化时做什么?
如果您使用基于统计数据的归一化器(即归一化为零均值、单位方差;例如 NormalizerStandardize
),则您必须 .fit()
在您的 DataSetIterator
首先。这将遍历您的所有数据并收集必要的统计信息,以便能够正确规范化数据。
之后,对于不需要拟合数据的标准化器(即,如果您有固定范围,就像图像一样),您可以使用 DataSetIterator
在 DataSetIterator
上设置标准化器 .setPreProcessor(normalizer)
。从此时起,您的 DataSetIterator
将返回标准化值。
进行预测时,您使用与训练相同的归一化器并使用它对新输入数据进行归一化。
如果您的标准化器必须适合数据,您可以使用其 .save()
方法保存它,并使用其 .load()
方法加载它。对于其他规范器,您可以创建一个新实例。
在 Deeplearning4j 中 model.fit 我的输入数据应该如何归一化?
目前我对大量数据进行迭代。
我可以看到有些人对完整的数据集进行了标准化。
在我看来,在 model.fit
.
是否有一些在迭代器内编写规范化代码的最佳实践?
那么预测的输入呢?
您应该始终针对您的训练集进行标准化。如果你只对每个批次进行归一化,当你只有一个样本时,你会在为推理进行归一化时做什么?
如果您使用基于统计数据的归一化器(即归一化为零均值、单位方差;例如 NormalizerStandardize
),则您必须 .fit()
在您的 DataSetIterator
首先。这将遍历您的所有数据并收集必要的统计信息,以便能够正确规范化数据。
之后,对于不需要拟合数据的标准化器(即,如果您有固定范围,就像图像一样),您可以使用 DataSetIterator
在 DataSetIterator
上设置标准化器 .setPreProcessor(normalizer)
。从此时起,您的 DataSetIterator
将返回标准化值。
进行预测时,您使用与训练相同的归一化器并使用它对新输入数据进行归一化。
如果您的标准化器必须适合数据,您可以使用其 .save()
方法保存它,并使用其 .load()
方法加载它。对于其他规范器,您可以创建一个新实例。