<article class=“article fmt article-content”><p>「全国大学生智能汽车比赛」是教育部提倡的大学生科技A类比赛,中国高等教育学会将其列为含金量最高的大学生比赛之一。截至2023年,曾经举办十八届,较量每年吸引包含清华、上交、复旦、北航等500多所高校,超10万名大学生加入,是晋升学生翻新实际能力和造就团队精神的国家级创意性科技比赛。</p><p>齐全模型组作为较量中深刻应用人工智能技术的竞速组别,在比赛中引入了更多人工智能元素和技术,受到越来越多学生与高校教师们的欢送。</p><p>为了让大家从线上练习赛的学习与实际中,积攒更多深度学习教训与迷信方法论,咱们为大家筹备了培训直播课和老手教程,干货满满。</p><h2><strong>线上赛培训,本周六见!</strong></h2><ul><li><strong>培训工夫:</strong> 2024年3月2日11:00</li><li><strong>线上链接:</strong> 退出官网社群获取</li><li><strong>培训讲师:</strong> 百度飞桨开发者技术专家(PPDE)、前百度飞桨北京领航团团长郑博培</li><li><strong>培训内容:</strong> 指标检测工作从入门到进阶</li></ul><p>除直播课之外,河池学院飞桨领航团团长黄德攒也为大家梳理了深度学习入门实际和线上赛打榜的流程,快来一睹为快。</p><h2><strong>深度学习入门实际6步走,暨线上赛打榜流程</strong></h2><h3><strong>第一步:环境配置</strong></h3><pre><code>git clone https://gitee.com/PaddlePaddle/PaddleDetection.git -b develop</code></pre><p>倡议应用develop分支哦!局部状况下须要应用release2.3.2以前的分支。</p><h3><strong>第二步:装置依赖</strong></h3><pre><code># 装置PaddleDetection%cd PaddleDetection!pip install -r requirements.txt# 编译装置paddledet!python setup.py install%cd </code></pre><h3><strong>第三步:数据筹备</strong></h3><ul><li>解压官网数据集Car2024</li></ul><pre><code># 解压数据集!unzip -oq /home/aistudio/data/data257994/Car2024.zip</code></pre><ul><li>生成标签文件(训练集train.txt以及验证集val.txt)</li><li>将VOC格局标签文件转换成COCO格局(.json)标签文件(训练集train.json与验证集val.json)</li><li>瞅一眼转换是否胜利</li><li>确定你的数据集的门路</li><li>依据数据集的门路,批改如下文件PaddleDetection/configs/datasets/coco_detection.yml</li></ul><pre><code>TrainDataset: name: COCODataSet image_dir: Images #更改为你的图像数据文件夹的名字 anno_path: train.json #训练集标签文件,个别状况下转换后生成在数据集文件夹的根目录下 dataset_dir: /home/aistudio/work/data3374 #数据集地位 data_fields: [‘image’, ‘gt_bbox’, ‘gt_class’, ‘is_crowd’]EvalDataset: name: COCODataSet #解释如上 image_dir: Images anno_path: val.json dataset_dir: /home/aistudio/work/data3374 allow_empty: trueTestDataset: name: ImageFolder anno_path: val.json dataset_dir: /home/aistudio/work/data3374</code></pre><h3><strong>第四步:参数调整与模型训练</strong></h3><pre><code># 模型训练%cd %cd PaddleDetection!python tools/train.py -c configs/picodet/picodet_m_320_coco_lcnet.yml</code></pre><p>picodet_m_320_coco_lcnet.yml中,各个超参数的值不同可能导致模型构造、精度、成果有出入。</p><pre><code>BASE: [ ’../datasets/coco_Car2024.yml’, ’../runtime.yml’, ’base/picodet_v2.yml’, ’base/optimizer_300e.yml’, ’base/picodet_320_reader.yml’,]# 模型权重门路,模型保留的中央哦weights: output/picodet_m_320_coco/best_model# 在反向流传时查找未应用的参数以进步内存利用率find_unused_parameters: True# 是否应用指数挪动均匀来稳固模型的训练use_ema: true# 总训练轮数epoch: 300 # 调大可能进步模型性能,但也可能导致过拟合,训练工夫减少# 每隔多少个epoch保留一次模型的快照snapshot_epoch: 10 # 调大可能缩小存储开销,但减少训练工夫# 训练时的读取器配置TrainReader: batch_size: 48 # 调大可能进步训练速度,但可能导致 GPU 内存不足# 学习率相干配置LearningRate: # 根底学习率 base_lr: 0.24 # 调大可能减速模型收敛,但也可能导致发散 # 学习率调度策略 schedulers: - !CosineDecay max_epochs: 300 # 余弦退火策略,学习率在300轮内进行余弦退火 - !LinearWarmup start_factor: 0.1 # 预热学习率的初始比例 steps: 300 # 预热所需的步数</code></pre><ul><li>不小心中断训练后,从新复原训练</li></ul><pre><code>python tools/train.py -c configs/picodet/picodet_m_320_coco_lcnet.yml –eval -r output/picodet_m_320_coco/best_model</code></pre><h3><strong>第五步:模型测试</strong></h3><pre><code>%cd %cd PaddleDetection# 更换"–infer_img"里的图片门路以预测不同的图片!python tools/infer.py -c configs/picodet/picodet_m_320_coco_lcnet.yml –infer_img=/home/aistudio/Car2024/images/crosswalk74.jpg –output_dir=infer_output/ –draw_threshold=0.5 -o weights=/home/aistudio/PaddleDetection/output/picodet_m_320_coco_lcnet/你的最新模型权重文件. pdparams –use_vdl=Ture</code></pre><h3><strong>第六步:模型导出与提交</strong></h3><ul><li>训练模型过程中会产生一些两头模型即checkpoints,须要将最优模型文件导出:</li></ul><pre><code>%cd %cd PaddleDetection# 将"-o weights"里的模型门路换成你本人训好的模型!python tools/export_model.py -c configs/picodet/picodet_m_320_coco_lcnet.yml -o weights=/home/aistudio/PaddleDetection/output/picodet_m_320_coco_lcnet/best_model TestReader.fuse_normalize=true</code></pre><ul><li>最初一步就是提交内容的整顿:将文件夹进行调整,并将搁置依赖文件的PaddleDetection文件夹中无关内容进行删除,最终的文件状态如下所示(模型名称依据本人的状况而定):</li></ul><p></p><h3><strong>线上练习赛常见问题整顿</strong></h3><ul><li><p><strong>error①</strong> <strong>:list index out of range</strong></p><p>谬误可能的呈现起因: 1.模型的标签配置与模型不匹配 2.数据集有问题 3.模型导出时对应权重与对应的config文件不统一</p></li><li><p><strong>error②</strong> <strong>:the predict.py script failed to run</strong></p><p>解决办法:1.检查和调整env(依赖库,常为PaddleDetection文件夹);2.查看 predict.py 中的门路配置</p></li><li><strong>装置PaddleDetection时的版本关联明确</strong></li><li><strong>线上赛门路图</strong></li></ul><p></p><p></p><p>作者:河池学院飞桨领航团团长黄德攒</p><p>并同时致谢群内:中二短尾猫</p><p>校对:Jungle</p></article>