我正在tf.slim
使用此文件作为模板vgg_preprocessing.py修改示例。
tf.slim
当我使用笔记本 ( slim_walkthrough.ipynb )中的剪辑从 TFRecord 文件中读取数据时,我得到一张颜色失真的图像。当预处理脚本使用tf.to_float()
将图像张量从 更改为tf.uint8
时,就会发生这种情况tf.float32
。
image = tf.image.convert_image_dtype(image, dtype=tf.float32)
通过 CNN 运行后,这些差异是否重要?如果是这样,哪一个更适合Vgg16
图像处理管道?如果我切换到不同的预训练模型有关系Inception
吗?
这是完整的方法:
# tf.to_float() and tf.image.convert_image_dtype() give different results
def preprocess_for_train(image,
output_height,
output_width):
# randomly crop to 224x244
image = _random_crop([image], output_height, output_width)[0]
image.set_shape([output_height, output_width, 3])
image = tf.to_float(image)
# image = tf.image.convert_image_dtype(image, dtype=tf.float32)
image = tf.image.random_flip_left_right(image)
return image