第一步:创建Notebook模型任务
**step1:**进入BML主页,点击立即使用
:https://ai.baidu.com/bml/
**step2:**点击Notebook,创建“通用任务”
**step3:**填写任务信息。注意这里的信息要填写您所在的企业信息,即归属要选择公司,并输入您自身所在的公司全称。如果您还在上学,请输入学校全称。既不是企业员工也不是学生,归属才能选择个人。
第二步:下载数据集并解压
操作模板下载链接:https://aistudio.baidu.com/aistudio/datasetdetail/129626
1.点击创建好的notebook任务右侧的配置
2.启动运行并打开
3.上传下载的操作模板,上传后点击打开,然后运行第一步下载数据集
运行结束的显示如下图
4.下载完成后运行第二步解压数据集
因为解压时显示的内容较长,翻页不方便,可以点击此处进行折叠
解压完成的显示如下图
1.打开Notebook
2.在第三步下方的代码框里复制粘贴安装PaddleDetection的代码,然后运行。如果出现unable to access说明网不好,可以重新运行或者切换网络
下载PaddleDetection的代码:
!git clone https://github.com/PaddlePaddle/PaddleDetection.git -b develop
3.安装完成后,点击+Code新增代码框,复制粘贴升级PaddlePaddle的代码,然后运行
升级PaddlePaddle的代码:
!python -m pip install paddlepaddle-gpu==2.1.3.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
4.升级完成后,再次点击+Code,复制粘贴安装环境依赖的代码,然后运行
安装环境依赖的代码:
%cd /home/work/PaddleDetection
!pip install -r requirements.txt
5.以上任务完成后记得保存并停止运行Notebook,避免浪费免费算力资源
记得截图最后一步操作界面发送至群中完成打卡
打卡截图示例:
今日的任务是模型训练与评估,有两种方法,请务必把两种方法都了解之后选择其中一种进行操作。
方法一:
1.启动运行并打开Notebook
2.重新升级PaddlePpaddle,仅需把原本代码中的2.1.3改为2.2.2,然后重新运行即可**
**
修改后代码:
!python -m pip install paddlepaddle-gpu==2.2.2.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
运行完成页面如下图
3.重新安装环境依赖,注意,每次重新启动打开Notebook都需要重新安装环境依赖
运行完成页面如下图
4.配置文件路径
点开PaddleDetection-dataset-mot文件夹,然后右键自行新建两个文件夹,分别命名为:image_lists和visdrone_mcmot_vehicle
然后点开数据集文件夹(visdrone_mcmot_vehicle),把visdrone_mcmot_vehicle.train和visdrone_mcmot_vehicle.val两个文件复制到刚刚创建的PaddleDetection-dataset-mot-image_lists中,再把数据集文件夹中剩下的六个文件复制(剪切)到刚刚创建的visdrone_mcmot_vehicle中
5.模型训练
代码:!python -m paddle.distributed.launch --log_dir=./mcfairmot_dla34_30e_1088x608_visdrone_vehicle/ --gpus 0 tools/train.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker.yml
因为训练的是全量数据,所以训练时间可能会较长,可以自行查看每段运行代码的后半部分,eta:后面的时间即为剩余训练时长,如较长可选择方法二
运行完成页面如下图:
6.模型评估
代码:!CUDA_VISIBLE_DEVICES=0 python tools/eval_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams
运行完成页面如下图:
方法二:
方法二是把PaddleDetection更换为已经整理好代码文件的版本,因此不用配置数据集路径,比方法一简单一些。
可以创建一个新的Notebook任务(创建方法见day0操作教程前半部分),然后从本方法的第三步开始操作。
也可以不创建新的Notebook任务,从本方法的第一步开始做。但是需要先删除之前下载好的PaddleDetection和数据集,否则影响操作。
1.启动运行并打开Notebook
2.文件-新建启动页-Notebook
自行点击+Code添加代码框,想要添加注释可以自行点击+Markdown
3.升级PaddlePpaddle
升级代码:
!python -m pip install paddlepaddle-gpu==2.2.2.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
运行完成页面如下图:
4.下载新的PaddleDetection文件,上传压缩包至Notebook
下载链接:https://aistudio.baidu.com/aistudio/datasetdetail/128844
5.解压PaddleDetection
解压代码:!unzip /home/work/PaddleDetection.zip
运行完成页面如下图
6.安装环境依赖:
代码:%cd /home/work/PaddleDetection
!pip install -r requirements.txt
运行完成页面如下图:
7.模型训练
代码:
!python -m paddle.distributed.launch --log_dir=./mcfairmot_dla34_30e_1088x608_visdrone_vehicle/ --gpus 0 tools/train.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml
因为这个PaddleDetection是整理过的,数据量较小,epoch(训练轮数)也较小,所以训练时间较短。(相应的,精度可能比不上方法一)
运行完成页面如下图:
8.模型评估
代码:!CUDA_VISIBLE_DEVICES=0 python tools/eval_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams
运行完成页面如下图:
————————分割线——————————
完成后记得停止运行Notebook,避免浪费免费算力
记得截图最后一步完成打卡哦~
打卡截图示例:
1.启动运行并打开Notebook
2.重新升级PaddlePpaddle2.2.2,注意,每次重新启动打开Notebook都需要重新升级PaddlePpaddle2.2.2
运行完成页面如下图
3.重新安装环境依赖,注意,每次重新启动打开Notebook都需要重新安装环境依赖
运行完成页面如下图
4.模型预测,预测完成后的视频文件在PaddleDetection/output/mot_results/visdrone_demo.txt,可以自行下载查看
昨天用了方法一,预测代码:!CUDA_VISIBLE_DEVICES=0 python tools/infer_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker/model_final.pdparams --video_file=visdrone_demo.mp4 --frame_rate=20 --save_videos
昨天用了方法二,预测代码:
!CUDA_VISIBLE_DEVICES=0 python tools/infer_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams --video_file=visdrone_demo.mp4 --frame_rate=20 --save_videos
运行完成后结果页面如下:
5.模型导出
昨天用了方法一,导出代码:!CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker/model_final.pdparams
昨天用了方法二,导出代码:
!CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams
6.模型推理
昨天用了方法一,推理代码:!CUDA_VISIBLE_DEVICES=0 python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker/ --video_file=visdrone_demo.mp4 --device=GPU --save_mot_txts
昨天用了方法一,推理代码:
!CUDA_VISIBLE_DEVICES=0 python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/ --video_file=visdrone_demo.mp4 --device=GPU --save_mot_txts
运行完成后结果界面如下:
记得截图最后一步完成打卡哦~
打卡截图示例: