15种常用的深度学习图像分类模型训练猫狗数据集(教程+源码)
0、前言
上一章,我们简单介绍了15种常用的深度学习图像分类模型,想了解模型结构的可以查看15种常用的深度学习图像分类模型(介绍 + 代码)
本章,我们将以猫狗分类数据集为例,介绍如何运行这15种模型。
1、数据集介绍
本文使用公开的猫狗数据集,数据集组织如图所示

-
TestImg: 作为模型训练完成后要测试的图片
-
train:训练集
-
val: 验证集
其中 train 文件夹包含每个类别的图片,以类别名称命名文件夹,如下图

示例Cat图片

示例Dog图片

同样,val 文件夹也包含每个类别的图片,以类别名称命名文件夹,如下图

为方便大家学习 这里给大家整理了一份学习资料包 需要的同学 根据下图自取即可

2、模型介绍
下载15种分类模型源码,如下图所示

打开底部README.txt可以看到有关代码的介绍

并且,每个模型文件夹里面都有一个READNME.md文件,指导我们如何训练,示例如图

3、训练模型
本次以 MobileNet 模型为例,训练猫狗数据集。打开README.txt,按里面步骤进行

3.1 准备训练和验证数据集
注意数据集格式只能是上述介绍的样式,即
–||clsdata
----||train
--------||class 1
-------------||1.jpg
-------------||2.jpg
…
--------||class 2
-------------||1.jpg
-------------||2jpg
…
----||val
--------||class 1
-------------||1.jpg
-------------||2.jpg
…
--------||class 2
-------------||1.jpg
-------------||2jpg
…
注意:数据不一定非要放到 data 目录下,任意目录都可以
3.2 下载预训练权重
根据 train.py 中使用的模型,下载对应的权重
示例中train.py使用的是mobilenet_v1模型,该模型没有预训练权重,所以要注释相关内容。

如果选择MobileNetV2模型,则根据readme.txt文档中的地址下载,下载完成后放入weight文件夹中,统一管理。

3.3 修改配置文件
需要修改如下内容

-
修改模型名称net_name,可为任意值,用于训练完成后保存的名称
-
修改模型分类类别数class_num,这里猫狗只有2类
-
修改训练集和验证集的存放路径train_path,val_path
-
每一轮的训练及测试结果会保存到.csv文件中,修改.csv文件的保存路径csv_path
-
修改最好模型的保存路径save_path
-
修改预训练权重的路径pre_weight
为方便大家学习 这里给大家整理了一份学习资料包 需要的同学 根据下图自取即可

3.4 训练
找到对应模型文件夹的 train.py 脚本, 右键运行即可

训练的时候会在模型文件夹外自动生成映射文件,用于模型预测使用

注意:如果在ubantu系统上训练,由于ubantu系统不支持使用plt.plot绘制图像,需要注释掉相关语句,如下图所示

3.5 预测

-
在predict.py中修改测试图片的路径img_path
-
在predict.py中修改读取类别映射的路径class_path
-
在predict.py中修改加载模型权重的路径weights_path,将其改为训练过程中保存的最好模型的路径
预测结果显示
![]()
为了小伙伴们能够,更好的学习实践,本文已将训练代码和数据集打包上传,供小伙伴们学习。获取方式如下:
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)