【记录】keras图像生成器ImageDataGenerator问题记录

记录,近期在用keras做项目的时候,使用kerasImageDataGenerator从文件目录生成数据, 使用该生成器喂数据训练,训完发现训练精度很高,然而测试的时候,效果一塌糊涂;

排查原因后发现标签索引没有对上;原来ImageDataGenerator是按照目录的的字母排序进行的;所以你的目录命名决定了你的类别索引;

比较保险的做法是,导出ImageDateGenerator产生的索引和目录的映射表;

 

方法如下:调用class_indices变量查看映射表,映射表为字典,记录目录到索引的映射,所以,在训练的时候,也把这个保存下来!


train_dataGenerator = ImageDataGenerator()
trainGenerator = train_dataGenerator.flow_from_directory(
    directory=file_dir,
    target_size=(58, 100),
    color_mode='rgb',
    batch_size=128,
    class_mode='categorical')
# print(trainGenerator.filenames)
print(trainGenerator.class_indices)
print(type(trainGenerator.class_indices))

import json
# 存储
fw = open('../data/dirname2idx.json', 'w', encoding='utf-8')
json.dump(trainGenerator.class_indices, fw)

 

 

 

 

🍅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值