【发布时间】:2020-11-26 15:57:26
【问题描述】:
我想在 tensorflow 2(版本 2.3.0)中预处理来自 'oxford_flowers102' 数据集的图像以训练初始 v3 网络。我找到了两种调整图像大小的方法,两种方法都有效,似乎都产生了相同的输出。我不明白哪种解决方案更适合我的任务。你能解释一下哪种方式更好用吗?
- 使用 tf.image.resize
IMAGE_RES = 229
dataset, dataset_info = tfds.load('oxford_flowers102', with_info=True, as_supervised=True)
dataset_info
test_set, training_set, validation_set = dataset['test'], dataset['train'], dataset['validation']
get_label_name = dataset_info.features['label'].int2str
image, label = next(iter(training_set))
image = tf.image.resize(image, (IMAGE_RES, IMAGE_RES)) / 255.0
_ = plt.imshow(image)
_ = plt.title(get_label_name(label))
plt.show()
- 带有 keras 层
IMAGE_RES = 229
dataset, dataset_info = tfds.load('oxford_flowers102', with_info=True, as_supervised=True)
dataset_info
test_set, training_set, validation_set = dataset['test'], dataset['train'], dataset['validation']
get_label_name = dataset_info.features['label'].int2str
resize_and_rescale = tf.keras.Sequential([
layers.experimental.preprocessing.Resizing(IMAGE_RES, IMAGE_RES),
layers.experimental.preprocessing.Rescaling(1. / 255)
])
image, label = next(iter(training_set))
_ = plt.imshow(image)
_ = plt.title(get_label_name(label))
result = resize_and_rescale(image)
_ = plt.imshow(result)
plt.show()
【问题讨论】:
标签: python tensorflow keras