问题描述
keras调用flow_from_directory()出现“Found 0 images belonging to 2 classes”
原因分析:
1.使用这个函数的时候,需要按照要求设置图片存放的文件结构,如下所示:
dataset
--train
----class1
------1.jpg
------2.jpg
----class2
------3.jpg
------4.jpg
--test
...
--val
...
例如加载时路径为:dataset/train/
,那么train路径下必须要包含类别文件夹:如上述所示class1
和class2
,类别文件下才是你真正的图像文件。
函数具体介绍文章[1]:
2.如果以上结构是正确,请考虑这种情况:
这个函数不支持你的你的图像文件这种后缀格式,如pgm
,gif
,本人遇到的便是这种情况,对于这种情况,可将后缀名进行修改,如png
。
可参考如下修改命令(Linux):
- rename
- mv
执行如下命令,
cd 你的文件下
## 先用echo 执行一遍,避免出错
for name in `ls *.pgm`;do echo $name ${name%.pgm}.png;done
## 调用mv进行对文件后缀修改 pgm 原始文件后缀,png ,修改的后缀
for name in `ls *.pgm`;do mv $name ${name%.pgm}.png;done
总结:
- 检查文件结构是否正确
- 检查该图像类型是否能够被处理。
参考文章:
[1] https://blog.csdn.net/baixue0729/article/details/96168979