我使用Keras对图像(多个类)进行分类,并使用ImageDataGenerator。它会自动找到所有的类,并且似乎不会在任何变量中写入标签。我想我需要使用tou-category以矩阵形式存储我的标签,但我不知道在哪里使用它。在
下面是我的代码片段:
...
datagen = ImageDataGenerator(
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest')
# generator for training
train_generator = datagen.flow_from_directory(
train_dir,
target_size=(img_width, img_height),
batch_size=batch_size,
class_mode='categorical')
# generator for validation
val_generator = datagen.flow_from_directory(
val_dir,
target_size=(img_width, img_height),
batch_size=batch_size,
class_mode='categorical')
# generator for testing
test_generator = datagen.flow_from_directory(
test_dir,
target_size=(img_width, img_height),
batch_size=batch_size,
class_mode='categorical')
# train
model.fit_generator(
train_generator,
steps_per_epoch=nb_train_samples // batch_size,
epochs=epochs,
validation_data=val_generator,
validation_steps=nb_validation_samples // batch_size)
生成器只是说“找到了属于5个类的442个图像。”或者类似的smth。我怎样才能在我的标签上使用“分类”?在
由于传递的是
class_mode='categorical'
,因此不必使用to_categorical()
将标签手动转换为一个热编码向量。在生成器将返回分类标签。在
相关问题 更多 >
编程相关推荐