keras flow from directory显示label index

网友投稿 1081 2022-08-23

keras flow from directory显示label index

keras flow from directory显示label index

keras imageDataGenerator封装了很多,其中有一个flow from directory函数能够直接把文件夹里面的子文件夹当作label,然后做一个分类的训练。

rootDir='/home/eric/data/scene' # train_path='group0_train.txt' # valid_path='group0_valid.txt' trainfilepath=os.path.join(rootDir,train_path) trainDf=pd.read_csv(trainfilepath) #加载papa.txt,指定它的分隔符是 \t trainDf.rename(columns={'image':"filename",'label':'class'},inplace=True) validfilepath=os.path.join(rootDir,valid_path) validDf=pd.read_csv(validfilepath,header=None) #加载papa.txt,指定它的分隔符是 \t validDf.rename(columns={0:"filename",1:'class'},inplace=True) datagen1 = ImageDataGenerator( rescale=1. / 255, shear_range=0.2, zoom_range=0.2, rotation_range=90, width_shift_range=0.2, height_shift_range=0.2, horizontal_flip=True) datagen2 = ImageDataGenerator(rescale=1. / 255) # train_generator = datagen1.flow_from_directory( # ptrain, # target_size=(size, size), # batch_size=batch, # class_mode='categorical') train_generator = datagen1.flow_from_dataframe( dataframe=trainDf, directory=rootDir , x_col="filename", y_col="class", subset="training", # classes=labels, target_size=[size, size], batch_size=batch, class_mode='categorical') validation_generator = datagen2.flow_from_dataframe( dataframe=validDf, directory=rootDir, x_col="filename", y_col="class", subset="training", # classes=labels, target_size=[size, size], batch_size=batch, class_mode='categorical')

上面的代码有一个问题,你不知道系统怎么把label 映射为index的,所以在做predict的时候就不知道怎样对应label了,其实是可以输出的:

print(train_generator.class_indices)

这样就能够把系统的class和index对应关系以字典的形式输出了。

参考文献

[1]. Keras flow_from_directory class index. ​​https://stackoverflow.com/questions/43813393/keras-flow-from-directory-class-index​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何备份导出 iOS 微信聊天数据库(怎么导出备份)
下一篇:[leetcode] 811. Subdomain Visit Count
相关文章

 发表评论

暂时没有评论,来抢沙发吧~