yolox_nano模型CPU利用率优化建议
【摘要】 很多小任务在V100上训练经常会遇到CPU瓶颈的问题,本文基于YOLOX的实际训练任务,介绍一些通用的CPU利用率优化策略。
问题定位:
由于yolox_nano是一个小模型,大小只有7MB,每次训练迭代非常快,而数据加载跟不上GPU的速度,导致GPU利用率较低;
此外,yolox使用的 Mosaic 数据增强方式以及其它增强方式需要消耗一定的时间。
优化建议:
1.增加data_num_workers数量。
修改YOLOX/yolox/exp/yolox_base.py文件,在"__init__ "函数增加self.data_num_workers = 4
2.使用cache功能,将数据集预先保存在RAM
python启动命令增加"--cache"参数
3.使用GPU显存占有功能,将所需的GPU提前占据,减少GPU显存分配造成的时间损失
python启动命令增加"--occupy"参数
4.增加batchsize,按显存容量进行增加
5.延长评估间隔,减少保存模型的操作
6.不要用CPU做数据增强
缓存增强后的数据结果,或将数据增强的步骤转为GPU实现
实测效果:
在CPU瓶颈的场景情况下,训练任务的GPU利用率提升2-4倍。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)