2310|6

402

帖子

9

TA的资源

纯净的硅(初级)

楼主
 

嘉楠K510开发板的AI应用(四)——调优训练模型 [复制链接]

 

在上一篇(https://bbs.eeworld.com.cn/thread-1227686-1-1.html)中,我们尝试对一个三分类的模型使用584张图片进行训练,其结果似乎并不让人满意。轮次之间抖动太大,几乎可以说是没有承接性,分析后初步怀疑查看输入的三类图片中的部分图片尺寸过小,可能不能满足卷积的需要,重新调整图片源,尽可能保持各分类图片总数量不变(<300),修改后的图片集数量如下:

恐龙dinosaur:295(train236+test59)、热狗hotdog:260(train208+test52)、花卉flower:280(train225+test55),使得训练集和测试集的图片数量比值完全相同。

同时在导入图片集时,使用batch_size的值为20,恢复为缺省值32,期望扩大数据的多样性。

再次训练,解决了抖动,但出现了新的问题(过拟合),以ResNet50为例,训练曲线如下:

 

如之前分析的,loss有明显下降趋势,但val_loss几乎不发生变化,说明这个训练迭代过拟合(over fitting),造成过拟合的原因显然是因为样本数量太少,可训练参数过多。考虑到用于训练的电脑只是一个笔记本,平时还做其它使用,不希望通过增大数据集来加强训练效果,只能考虑优化模型,而之前ResNet50和InceptionV3几乎是最简状态,不是很方便修改,于是考虑在自建模型基础上进行调整,之前的训练参数:

Total params: 11,562,243

Trainable params: 11,562,243

Non-trainable params: 0

基本训练思路是多轮Conv2D卷积,拉平后再经过一次Dense的relu,最后分配到3分类的softmax中。考虑增加最大池化(MaxPooling)层和丢弃(Dropout)层,并将丢弃参数设置为0.2~0.3。再次尝试训练。调整后的参数降低至原训练参数的1/10:

Total params: 1,518,723

Trainable params: 1,518,723

Non-trainable params: 0

经过调优以后,曲线已较为平滑。

 

且可以看到,随着训练轮次增加,loss和val_loss降低,accuracy和val_accuracy增加。说明模型调整是非常有效的。下一步调整是进一步降低loss和提升accuracy。但就目前曲线来看,生成的模型已经初步具备使用价值。计划下一篇开始测试模型。

另:考虑论坛下载审核机制周期挺长,我直接把用到的代码放在楼下,大家如有兴趣,可以直接修改,当然如果引用,最好加上“来自电子工程世界eeworld,原作者是tobot”之类的话

 

 

 

 

 

最新回复

推荐可以用谷歌的云盘,上面可以跑模型,而且配置特别高,我们爱好者偶尔用一用还是不错的~   详情 回复 发表于 2022-12-12 13:27
点赞 关注
 
 

回复
举报

402

帖子

9

TA的资源

纯净的硅(初级)

沙发
 
本帖最后由 tobot 于 2022-12-10 20:21 编辑

数据集大概90兆,正好放在附件里面,如果大家有兴趣,也可以自己到百度去拉把吧,想拉什么就拉什么,多分类也没问题,注意目录就行,在训练代码里面已经考虑到了。

data.zip (90.41 MB, 下载次数: 0)

已经把三段代码都合并进来了,直接干掉注释行就可以使用,但是InceptionV3和ResNet50模型还没调好,估计至少得5000张以上的训练图片才能达到预想效果。

train_2.py (7.48 KB, 下载次数: 0)

从百度拉图片的代码,这个可以算是得意之作,毕竟玩爬虫不算什么本事,偷熊厂才有趣,不是吗?

获取百度图片.py (2.8 KB, 下载次数: 1)
把太小的图片过滤掉
干掉小图片.py (782 Bytes, 下载次数: 0)

 

点评

感谢楼主的无私奉献!  详情 回复 发表于 2022-12-10 20:40
 
 
 

回复

402

帖子

9

TA的资源

纯净的硅(初级)

板凳
 

顺便说一句,附件里面的代码只要有python就能玩,不一定需要板子的。

 
 
 

回复

6828

帖子

0

TA的资源

五彩晶圆(高级)

4
 

谢谢分享调优训练模型的数据集

 
 
 

回复

7047

帖子

11

TA的资源

版主

5
 
tobot 发表于 2022-12-10 19:31 数据集大概90兆,正好放在附件里面,如果大家有兴趣,也可以自己到百度去拉把吧,想拉什么就拉什么,多分类 ...

感谢楼主的无私奉献!

 
 
 

回复

7244

帖子

2

TA的资源

版主

6
 

学完神经网络之后,大佬的讲解看的懂了

 
 
 

回复

7244

帖子

2

TA的资源

版主

7
 

推荐可以用谷歌的云盘,上面可以跑模型,而且配置特别高,我们爱好者偶尔用一用还是不错的~

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表