本项目提供了一套使用Python和卷积神经网络实现猫狗图像自动分类的完整代码与训练数据。适合初学者了解深度学习在图像识别中的应用。
首先安装所需环境。然后使用data_classify.py文件进行训练集与测试集的分割。接着可以开始模型的训练。
数据准备:当前的数据存放在名为data_name的文件夹内,每个类别对应一个子文件夹,共有n个类别的数据就包含n个子文件夹。
项目主要结构组成包括:
- model_AlexNet.py: 自己构建的AlexNet模型(也可以选择其他模型)。
- model_Vgg16.py: 使用PyTorch自带并进行修改后的VGG16模型(同样可以选用其它预训练模型)。
- train.py:用于训练选定的深度学习模型。
- test.py:用于测试训练好的模型。
辅助文件:
- data_classify.py:负责将data_name中的类别数据分为训练集与测试集。请查看代码内容,该脚本使用了argparse模块以支持命令行参数配置。
此外,还有两个步骤需要注意:
1. 清除单通道图像:对输入的数据进行清洗处理,移除或修正异常的单通道图像;
2. 旧版数据加载:此部分是用于学习如何从文件系统中加载训练所需的图像数据,并对其进行适当的预处理。