动手学深度学习 | 数据增广 | 35
数据增广
数据增广的话就不局限于图片,对文本、语音等都可以进行增广,这里主要是针对图片的技术。
代码
简简单单一个左右翻转的图像增广,就可以有效缓解让cifar10的过拟合情况。
其实不要奇怪,在ImageNet上,如果数据增广做的比较狠的话,经常是可以看到test acc高于train acc的,是因为测试环境不会对图片做数据增广,而训练环境把图片都增广(一堆鬼样子)。
QA
- 理论上,是不是原始样本足够多,就不用做增广了?
是的,但是这样的情况很难发生。
还有图片多,并不代表数据集的多样性好。
还有就是真正应用的时候,其实还有可能会出现更加奇怪的图片。
- num_worker的值是不是根据机器GPU性能而设定?
不是GPU,是CPU...
如果你CPU是双核的,那么num_worker就取2。
虽然我们说深度学习拼的GPU,但是CPU也不能太差,否则数据预处理的时候就会非常的拉跨。(CPU至少要个8核吧)
- 测试一般怎么做增广呢?
测试集一般是不做增广的。
但是如果是输入的一张随机图片,那么就会保留短边,然后按照比例去resize成224∗224。
- 关于cifar10的训练
cifar10的测试精度是可以很高的,可以到95%,大概需要200个epoch。
但是trian acc和test acc之间的gap是不会减少的,一般也很少减少,最终train acc可以达到100%。
- 图片增广后需要人工一张张的确认效果吗?
不用一张张,但是要大致看一下,保证不要太奇怪就行了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 2025成都.NET开发者Connect圆满结束