首页 > 解决方案 > 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)

这是否以相同的方式处理?

标签: pythontensorflowimage-processingkerasdeep-learning

解决方案


来自评论

实际上,您只是在调整大小和重新缩放。因此,它与您对 1 个图像样本所做的相同。(从 Kaveh 转述)


推荐阅读