因为在使用Keras ImageDataGenerator时,我没有将训练集和标签分开,而是依赖于文件夹结构。如何获取分类报告,即如何获取/计算精度、召回率和F1
这是我尝试过的,我得到的错误是抱怨列车发电机没有argmax。我怎样才能解决这个问题
AttributeError: 'DirectoryIterator' object has no attribute 'argmax'
train_datagen = ImageDataGenerator(
rescale=1. / 255,
)
train_generator = train_datagen.flow_from_directory(
train_dir,
target_size=(150, 150),
)
predIdxs = model.predict(train_generator)
predIdxs = np.argmax(predIdxs, axis=1)
print(classification_report(train_generator.argmax(axis=1), predIdxs,
target_names=["class 1", "class 2"]))
这个解决方案对我有效,因为如果您使用
flow_from_directory
,那么您必须在模型上使用predict_generator
方法,并且谈到sklearn.metrics.classification_report
,ytrue
和ypred
应该是1-d numpy
数组,因此使用train_generator.labels
相关问题 更多 >
编程相关推荐