我是张力流的新手。我知道CAFFE需要提前减去RGB平均值。但我在张量流示例中没有看到相同的代码。
当微调Tensorflow模型提供的RESNET和INCEPTION时,是否需要减去IMAGENET的平均值?
答案 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)
我希望这会有所帮助。