针对多分类问题,使用深度学习--Keras进行微调提升性能
前面的文章对二分类问题用Keras进行了Fine-tune,使得模型的准确率进一步提升,此处对于多分类问题,尝试使用Fine-tune来提升性能。
1. 准备数据集
为了演示,本次选用了博文keras系列︱图像多分类训练与利用bottleneck features进行微调(三)中提到的数据集,原始的数据集将所有类别的train照片放到train文件夹中,所有的test照片放在test文件夹中,而用不同数字开头来表示不同类别,比如以3开头的照片就是bus类等。首先将这些不同类别的照片放在不同的文件夹中,最终的train文件夹有5个子文件夹,每个子文件夹中有80张图片,最终的test文件夹中有5个子文件夹,每个子文件夹中有20张图片。总共只有500张图片。
————————————————
在代码上,需要用ImageDataGenerator来做数据增强,并且用flow_from_directory来从文件夹中产生数据流。
代码和二分类的文章基本相同,唯一的不同之处是要设置class_mode='categorical',而不是原来二分类问题的class_mode='binary'
2. 对VGG16的后半部分进行Fine-tune
此处我们建立的模型是使用VGG16的身子(inclue_top