【发布时间】:2021-05-20 15:15:45
【问题描述】:
我找到了一些使用 Keras 创建机器学习模型的代码,但我真的不知道如何将自己的图像放入其中。模型是这样创建的:
model = Model(inputs=base_model.input, outputs=predictions)
model.compile(optimizer=SGD(lr=0.0001, momentum=0.9), loss='categorical_crossentropy', metrics = ['accuracy'])
training_set 是这样创建的:
train_datagen = ImageDataGenerator(rescale = 1./255,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True)
training_set = train_datagen.flow_from_directory('/content/drive/My Drive/multiclass/train',
target_size = (224, 224),
batch_size = 32,
class_mode = 'categorical')
在这里,您可以看到作者在开头这样连接的 google-drive 位置的路径 from google.colab import drive; drive.mount('/content/drive/') 但我看不到这个 google drive 中的数据是什么样的。
有了这些数据,训练就这样开始了:
# Training the model for 5 epochs
model.fit_generator(training_set,
steps_per_epoch = 8000,
epochs = 5,
validation_data = test_set,
validation_steps = 200)
我怎样才能把我自己的图像放在那里?模型如何知道哪个图像属于哪个类?我是否必须将它们放在不同的文件夹中并以我的课程命名?
我想知道的另一件事是,图像是否必须具有一定的尺寸,例如 224*224 像素,因为 target_size 位于 flow_from_directory 方法中,还是在此模型中自动转换?
感谢每一个回答!
最好的问候亚历克斯
【问题讨论】:
-
为了使用
flow_from_directory,每个类都需要在一个子文件夹中。所以它会被自动标记。 -
这个在Keras的文档中直接提到了:keras.io/api/preprocessing/image/#flowfromdirectory-method如果可以在软件的文档中找到答案,就不用问SO问题了。
标签: tensorflow machine-learning keras google-drive-api image-classification