希望能够帮助大家稳扎稳打的提升项目实操经验,极市平台从去年开始举办了免费的视觉AI工程项目实训活动,近期第七期语义分割算法实训营正在招募当中!本次实训已经在上周进行了第一次的教学直播,大佬带队手把手的带领大家从算法开发到落地部署的全流程,平台提供已标注真实数据和免费GPU等算力支持,让大家可以在真实的工业项目中练手,体验最真实的算法开发流程!
本文对实训的整体流程、各环节的重难点进行了梳理,错过了教学直播或者对平台功能流程等还不熟悉的小伙伴们建议收藏!
极市平台也配套推出了开发套件等算法开发工具,帮助开发者提升算法开发效率25%以上!
亮点速览:
1)训练套件拥有数据转换、划分、增强等数据预处理能力
2)预置SOTA网络高性能实现, 囊括主流CV任务
3)提供 onnx, atlas ,TensorRT等模型转换工具
4)提供统一的跨硬件推理接口
开发套件体验活动招募中!使用套件完成开发后将使用体验和建议反馈给极市,我们将会送出的瑞幸/奈雪的30代金券~
详情链接:https://cvmart.net/community/detail/7521
一、模型开发流程
1 报名打榜
算法项目打榜列表(推荐选择前列项目):https://www.cvmart.net/topList
实训baseline请参考:
目标检测:https://github.com/daimaohui/cvmart_yolov5
语义分割:https://github.com/daimaohui/cvmart_linknet
语义分割-STDC:https://github.com/daimaohui/cvmart_STDC
最新一期语义分割实训营招募中:
本次我们邀请人工智能专业博士作为实训导师,开启基于算法开发任务的实战共学,期待大家一起加入学习交流!
添加极小新(微信ID:cvmart8)凭报名完成的截图领取配套资料和进入学习群。

长按扫描二维码入群报名
加速你的视觉AI学习进程
2 创建镜像
2.1 创建镜像
2.2 选择torch编码环境
2.3 进入编码环境
3 编码环境
新建Terminal
3.1 数据介绍
#新建Terminal
cd /home/data
ls
将数据拷贝到/project/train/src_repo
cp -r /home/data/1225 /project/train/src_repo/trainval
cp -r /home/data/599 /project/train/src_repo/trainval
cp -r /home/data/820 /project/train/src_repo/trainval
3.2 数据处理
将代码中的split.py 直接拷贝,修改路径,主要修改下面两张图的部分
运行split.py
python split.py
3.3 yolov5代码
-
下载yolov5代码
#下载yolov5代码
wget https://extremevision-js-userfile.oss-cn-hangzhou.aliyuncs.com/user-14177-files/6c888875-7de7-4f60-ba15-88de0304fe70/yolov5.zip
#解压
unzip yolov5.zip
cd yolov5
#安装python库
pip install -r requirements.txt
#下载yolov5s模型
wget https://extremevision-js-userfile.oss-cn-hangzhou.aliyuncs.com/user-14177-files/d8ee0651-9d48-4480-a161-d22750ba7eba/yolov5s.pt
wget https://extremevision-js-userfile.oss-cn-hangzhou.aliyuncs.com/user-14177-files/d97a419e-2bb4-4822-b398-b37244473a5f/Arial.ttf
-
在yolov5/data/目录下新建fire.yaml文件
#数据路径,不用更改
train: ../train.txt
val: ../val.txt
#类别数量,根据题目设定
nc: 3
#类别名称,根据题目设定
name: ['fire','big_fire','smoke']
python train.py --batch-size 32 --epochs 3 --data ./data/fire.yaml --hyp ./data/hyps/hyp.scratch-low.yaml --weight ./yolov5s.pt --img 640 --project /project/train/models/ --cfg ./models/yolov5s.yaml
4.训练
就是在编码做了哪些事情,在训练环境环境也需要去做
新建 run.sh 脚本
cp -r /home/data/1225 /project/train/src_repo/trainval
cp -r /home/data/599 /project/train/src_repo/trainval
cp -r /home/data/820 /project/train/src_repo/trainval
python /project/train/src_repo/split.py
cd /project/train/src_repo/yolov5
python train.py --batch-size 64 --epochs 100 --data ./data/fire.yaml --hyp ./data/hyps/hyp.scratch-low.yaml --weight ./yolov5s.pt --img 640 --project /project/train/models/ --cfg ./models/yolov5s.yaml
发起训练之前将编码环境里面生成的数据清理一下
-
删除 trainval 文件夹
-
删除 val.txt ,train.txt val.cache train.cache
-
删除 /project/train/models/ 文件夹下面的所有文件
发起训练
在执行命令里面输入:
bash /project/train/src_repo/run.sh
5.测试
在 /project/ev_sdk/src 目录下新建ji.py,只需要更改这里的参数
常见问题汇总:https://www.cvmart.net/community/detail/6967
二、算法封装
对于算法的应用落地来说,开发出算法模型仅仅是第一步,还需要将算法进行业务封装测试并提供使用接口给产业端。以下是一些关于封装的详细文章以及官方详解视频教程,对SDK开发过程中常见的一些易错点和常见功能进行了编码说明和重点展示。
Demo:
1、开发者封装demo文件 (极市新版本demo提供了以下两种算法方案封装的案例,对SDK开发过程中常见的一些易错点和常见功能进行了编码说明和重点展示)
2、大家可以基于demo为起点能够更快速,准确的进行算法开发。对其中的 test-ji-api 工具增加了测试整个文件夹中图片的功能,地址如下:
基于tensorrt推理yolov5模型的新版本SDK DEMO:
-
https://github.com/ExtremeMart/ev_sdk_demo4.0_pedestrian_intrusion_yolov5.git -
https://gitee.com/cvmart/ev_sdk_demo4.0_pedestrian_intrusion_yolov5.git
语义分割封装demo:
https://gitee.com/cvmart/ev_sdk-semantic-segment
使用tensorrt推理的demo:
https://gitee.com/cvmart/ev_sdk_demo4.0_vehicle_plate_detection
使用onnx_runtime推理的demo:
https://gitee.com/cvmart/ev_sdk_demo4.0_pedestrian_intrusion/tree/master
在atlas平台上推理的demo:
https://gitee.com/cvmart/ev_sdk_atlas_demo4.0_head_detection
极市算法封装(C++)验收测试说明(简易版):
https://www.cvmart.net/community/detail/6656
EV_SDK开发测试指南(官方版):
https://www.cvmart.net/community/detail/6753
新同学开发算法流程&冠军方案指引:
https://www.cvmart.net/community/detail/6364
极市平台官方技术文档:
https://cvmart.net/document
三、算法tricks&冠军方案
添加极小新(cvmart8)即可领取PDF合集
干货文章:
哪些模型trick和数据的方法可以大幅度让你的分类性能更上一层楼
目标检测模型精确度评估

