如何在使用ImageDataGenerator时使用to_categorical

我在使用Keras进行图像分类(多类别),并且使用了ImageDataGenerator。它会自动找到所有类别,并且似乎没有将标签写入任何变量中。我认为我需要使用to_categorical来以矩阵形式存储我的标签,但我不知道在哪里使用它。

这是我代码的一部分:

...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')# 用于训练的生成器train_generator = datagen.flow_from_directory(train_dir,target_size=(img_width, img_height),batch_size=batch_size,class_mode='categorical')# 用于验证的生成器val_generator = datagen.flow_from_directory(val_dir,target_size=(img_width, img_height),batch_size=batch_size,class_mode='categorical')# 用于测试的生成器test_generator = datagen.flow_from_directory(test_dir,target_size=(img_width, img_height),batch_size=batch_size,class_mode='categorical')# 训练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张图像。”之类的话。我如何在我的标签上使用to_categorical?


回答:

由于你传递了class_mode='categorical',你不需要手动使用to_categorical()将标签转换为独热编码向量。

生成器会返回分类标签。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注