当微调RESNET和INCEPTION受Tensorflow模型限制时,我是否需要减去IMAGENET的RGB平均值?

时间:2017-05-13 13:10:35

标签: tensorflow

我是张力流的新手。我知道CAFFE需要提前减去RGB平均值。但我在张量流示例中没有看到相同的代码。

当微调Tensorflow模型提供的RESNET和INCEPTION时,是否需要减去IMAGENET的平均值?

tensorflow models

1 个答案:

答案 0 :(得分:0)

有多种方法可以规范化图像。将训练集的平均值减去/将图像标准化为[-1,1]

在这种情况下,他们使用函数tf.image.per_image_standardization()将每个图像标准化为[-1,1],您可以在预处理文件夹部分中看到它。您也可以按照相同的预处理脚本进行微调。

 def preprocess_for_eval(image, output_height, output_width):
      """Preprocesses the given image for evaluation.
      Args:
         image: A `Tensor` representing an image of arbitrary size.
         output_height: The height of the image after preprocessing.
         output_width: The width of the image after preprocessing.
      Returns:
         A preprocessed image.
      """
      tf.summary.image('image', tf.expand_dims(image, 0))
      # Transform the image to floats.
      image = tf.to_float(image)

      # Resize and crop if needed.
      resized_image = tf.image.resize_image_with_crop_or_pad(image,
                                                         output_width,
                                                         output_height)
      tf.summary.image('resized_image', tf.expand_dims(resized_image, 0))

      # Subtract off the mean and divide by the variance of the pixels.
      return tf.image.per_image_standardization(resized_image)

我希望这会有所帮助。