【发布时间】:2019-06-06 21:42:41
【问题描述】:
我很好奇单独标准化每个图像与标准化整个数据集之间的区别。
我正在使用tensorflow/models/official/resnet,它是使用 tf.estimator 构建的。 tf 估计器支持生成 tf 数据集的输入管道函数。 Dataset 对象应用tf.image.per_image_standardization 操作,该操作通过从每个像素中减去图像本身的平均值来进行标准化并强制执行单位方差。
这与其他基于整个数据集的平均值对图像进行标准化的 ML 预处理不同,例如 sklearn.preprocessing.StandardScaler。
我很困惑这个输入管道的任何方面是否保留在从 tf.estimator.Estimator 导出的 tf SavedModel 中。
所以我想知道在通过 tf.contrib.predictor 或以任何其他 dnn 格式部署模型时,是否仍需要应用特征标准化。
即使我使用的是 per_image_standardization,我是否应该在数据集上应用标准化?如果是这样,我是否应该以某种方式从整个图像集中导出平均值,以便在为模型提供服务时服务器可以从整个数据集中获取平均值并以这种方式应用标准化?
【问题讨论】:
-
StandardScaler-type 不是唯一的选择;在Why do standardscaler and normalizer need different data input? 上查看最近的好答案。
标签: python tensorflow machine-learning scikit-learn deep-learning