python - Keras 图像处理 - 这是相同的处理吗?
问题描述
如果我以与火车生成器相同的方式手动处理图像,我有疑问。我正在使用 python3 和 keras。
这就是训练数据的处理方式。
train_datagen = keras.preprocessing.image.ImageDataGenerator(
rescale=1./255,
#shear_range=0.2,
#zoom_range=0.2,
#horizontal_flip=True,
)
test_datagen = keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
str(Files.join(self.directory, 'training')),
target_size=(self.width, self.height),
color_mode="rgb",
batch_size=self.batch_size,
class_mode=class_mode,
shuffle=True,
seed=42
)
validation_generator = test_datagen.flow_from_directory(
str(Files.join(self.directory, 'validation')),
target_size=(self.width, self.height),
color_mode="rgb",
batch_size=self.batch_size,
class_mode=class_mode,
shuffle=False,
seed=42,
)
self.model.fit(
train_generator,
steps_per_epoch=train_samples_count // self.batch_size,
epochs=self.epochs,
validation_data=validation_generator,
validation_steps=validation_samples_count // self.batch_size,
callbacks=callbacks,
)
这就是处理单个图像的方式。
img = keras.preprocessing.image.load_img(path, target_size=(self.width, self.height), color_mode='rgb')
img_tensor = keras.preprocessing.image.img_to_array(img)
img_tensor = np.expand_dims(img_tensor, axis=0)
img_tensor /= 255.
self.model.predict(img_tensor)
这是否以相同的方式处理?
解决方案
来自评论
实际上,您只是在调整大小和重新缩放。因此,它与您对 1 个图像样本所做的相同。(从 Kaveh 转述)
推荐阅读
- javascript - 我在承诺中的承诺正在回归
- python - 如何使用 re.match() 更改文件中的多行
- windows - 调用外部 dll 时出现 InnoSetup 错误“无法调用 proc”
- django - 为什么第一次 clean_ 时 form.is_valid() 不会立即返回 false
引发验证错误? - python - 获取下拉数据并更新Django中的数据
- android - 应用程序在移动到下一个活动时崩溃
- git - GitAttribute 强制手动合并特定文件
- javascript - 附加新选项时选择选项消失
- c - 我可以将 char* 数组而不是几个参数传递给函数吗?
- javascript - 如何停止对“dragover”事件的口吃