【问题标题】:ResNet RGB means in tensorflow-slimResNet RGB 表示在 tensorflow-slim
【发布时间】:2018-01-22 12:37:51
【问题描述】:

我正在使用 tensorflow slim 加载预训练模型,例如 vgg 和 resnet-50。因此对于 vgg , tf-slim 提供了一种加载 RGB 平均值的方法,例如:

from preprocessing.vgg_preprocessing import (_mean_image_subtraction,
                                            _R_MEAN, _G_MEAN, _B_MEAN)

我找不到与 resnets 类似的东西。还没有实施吗?我也知道一些像 py-torch 这样的库为每个模型提供了全局平均值。 tf-slim 也是这样吗?

【问题讨论】:

    标签: tensorflow deep-learning tensorflow-gpu tf-slim resnet


    【解决方案1】:

    我在 ImageNet 验证数据集上测试了 Resnet_v1_50 和 Resnet_v2_50 的 Slim 检查点,结果是 Resnet_v1_50 使用 VGG 预处理,而 Resnet_v2_50 使用 Inception 预处理。

    Github issue 还在source code 中指出了误导性信息。

    【讨论】:

      【解决方案2】:

      实际上,尽管preprocessing_factory 说restnetv2 使用vgg_preprocessing,但事实并非如此。 resnetv2 的正确预处理是 inception_preprocessing,如此 github 问题 https://github.com/tensorflow/models/issues/2217

      中所述

      【讨论】:

        【解决方案3】:

        前面的答案其实并不完全正确。 看一下 https://github.com/tensorflow/models/blob/master/research/slim/preprocessing/preprocessing_factory.py

        可以看到Resnet-V1和ResNet-V2都使用了VGG预处理

         preprocessing_fn_map = {
          'cifarnet': cifarnet_preprocessing,
          'inception': inception_preprocessing,
          'inception_v1': inception_preprocessing,
          'inception_v2': inception_preprocessing,
          'inception_v3': inception_preprocessing,
          'inception_v4': inception_preprocessing,
          'inception_resnet_v2': inception_preprocessing,
          'lenet': lenet_preprocessing,
          'mobilenet_v1': inception_preprocessing,
          'mobilenet_v2': inception_preprocessing,
          'mobilenet_v2_035': inception_preprocessing,
          'mobilenet_v2_140': inception_preprocessing,
          'nasnet_mobile': inception_preprocessing,
          'nasnet_large': inception_preprocessing,
          'pnasnet_mobile': inception_preprocessing,
          'pnasnet_large': inception_preprocessing,
          'resnet_v1_50': vgg_preprocessing,
          'resnet_v1_101': vgg_preprocessing,
          'resnet_v1_152': vgg_preprocessing,
          'resnet_v1_200': vgg_preprocessing,
          'resnet_v2_50': vgg_preprocessing,
          'resnet_v2_101': vgg_preprocessing,
          'resnet_v2_152': vgg_preprocessing,
          'resnet_v2_200': vgg_preprocessing,
          'vgg': vgg_preprocessing,
          'vgg_a': vgg_preprocessing,
          'vgg_16': vgg_preprocessing,
          'vgg_19': vgg_preprocessing,
        

        }

        【讨论】:

          【解决方案4】:

          在 TensorFlow Slim resnet-v1 中使用 vgg_preprocessing。 Resnet-v2 默认使用 inception 预处理,它使用了大量的颜色、色调和饱和度增强。这降低了均值减法的相关性。

          【讨论】:

            猜你喜欢
            • 2018-07-25
            • 2018-11-08
            • 2018-10-04
            • 2018-02-02
            • 2017-04-13
            • 2017-02-24
            • 2020-04-24
            • 2017-02-06
            • 1970-01-01
            相关资源
            最近更新 更多