【发布时间】:2020-09-02 10:07:34
【问题描述】:
我已经训练 CNN 对 3 类图像进行分类。 在训练模型时,我使用了 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它。 现在我的网络在测试集上得到了很好的训练,但我不知道如何将预处理功能应用于单个图像预测。如果我使用 ImageDataGenerator 它会查找目录。 建议我一些替代方法来执行预处理功能并在单个图像上重新缩放。 请参阅下面的代码
训练集:
train_datagen = ImageDataGenerator(preprocessing_function = tf.keras.applications.vgg16.preprocess_input,
rescale = 1./255,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True)
training_set = train_datagen.flow_from_directory('./training_set',
target_size = (224, 224),
batch_size = 10,
class_mode = 'categorical')
测试集:
test_datagen =ImageDataGenerator(preprocessing_function=tf.keras.applications.vgg16.preprocess_input,
rescale = 1./255)
test_set = test_datagen.flow_from_directory('./test_set',
target_size = (224, 224),
batch_size = 10,
shuffle=False,
class_mode = 'categorical')
现在,我无法在预测之前对单个图像应用预处理功能和重新缩放。 单一预测:
single_datagen = ImageDataGenerator(preprocessing_function=tf.keras.applications.vgg16.preprocess_input,
rescale = 1./255)
single_test = single_datagen.flow_from_directory('./single_prediction/cc.jpg',
target_size = (224, 224),
batch_size = 1,
class_mode = 'categorical')
错误: NotADirectoryError:[Errno 20] 不是目录:'./single_prediction/cc.jpg'
【问题讨论】:
-
您确定该目录可以从程序中访问吗?
标签: python image tensorflow keras conv-neural-network