【发布时间】:2021-10-21 11:37:03
【问题描述】:
如果我以与火车生成器相同的方式手动处理图像,我有疑问。我正在使用 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 个图像样本所做的操作相同。
标签: python tensorflow image-processing keras deep-learning