全国大学生智能汽车竞赛是教育部倡导的科技类大学生A类竞赛,中国高等教育协会将其列为含金率最高的大学生竞赛之一。 截至2023年,该大赛已举办18年,每年吸引来自清华大学、上海交通大学、复旦大学、北京航空航天大学等的500多所高校和10万多名大学生。
作为在比赛中深度运用人工智能技术的赛马团,全模组在比赛中引入了更多的人工智能元素和技术,受到了越来越多学生和高校教师的欢迎。
为了让您从在线练习赛的学习和实践中积累更深入的学习经验和科学的方法,我们为您准备了现场培训课程和新手教程,干货十足。
培训时间:三月2,2024 11:00
在线链接:扫描下方***加入官方社区获取。
培训讲师:PaddlePaddle 开发者技术专家 (PPDE) 和前 PaddlePaddle 北京试点组组长郑伯培。
培训内容:目标检测任务范围从初级到高级。
除了直播课,河池学院划桨试点组组长黄德卓还为大家梳理了深度学习入门实践和在线竞赛排名的过程。
步骤 1:配置环境
git clone -b develop建议使用 develop 分支! 在某些情况下,您需要使用 release23.2 以前的分支。
步骤 2:安装依赖
安装 PaddleDetection第 3 步:数据准备解压官方数据集CAR2024cd paddledetection
pip install -r requirements.txt
编译并安装 paddledet
python setup.py install
cd ~
解压缩数据集。生成标签文件(训练集 train.)。txt 以及验证集 valtxt)unzip -oq /home/aistudio/data/data257994/car2024.zip
将VOC格式标签文件转换为COCO格式(.)json) 标记文件(训练集训练)JSON 和验证集 valjson)
看看转换是否成功。
确定数据集的路径。
根据数据集的路径,修改以下文件为 PaddleDetection Configs datasets coco detectionyml
traindataset:相关学习资料第 4 步:参数调整和模型训练name: cocodataset
image dir:图像数据文件夹的名称。
anno_path: train.一般情况下,JSON训练集标签文件是在转换后在数据集文件夹的根目录下生成的。
dataset dir:主页 AISTUDIO 工作数据 3374 数据集位置。
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
evaldataset:
名称:Cocodataset 如上所述。
image_dir: images
anno_path: val.json
dataset_dir: /home/aistudio/work/data3374
allow_empty: true
testdataset:
name: imagefolder
anno_path: val.json
dataset_dir: /home/aistudio/work/data3374
模型训练。picodet_m_320_coco_lcnet.在 YML 中,每个超参数的不同值可能会导致模型的结构、准确性和效果的差异。cd ~cd paddledetection
python tools/train.py -c configs/picodet/picodet_m_320_coco_lcnet.yml
_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 可能会提高模型性能,但也可能导致过度拟合和训练时间增加。
每隔几个纪元保存一个模型的快照。
快照纪元:10 纵向扩展可能会减少存储开销,但会增加训练时间。
训练时的读取器配置。
trainreader:
批处理大小:48 提高训练速度可能会提高训练速度,但可能会导致 GPU 内存不足。
配置学习率相关配置。
learningrate:
基本学习率。
base_lr: 0.24 扩大规模可能会加速模型收敛,但也可能导致分歧。
学习率调度策略。
schedulers:
cosinedecay
最大周期:300 余弦退火策略,余弦退火学习率在 300 轮以内。
linearwarmup
start_factor: 0.1 热身学习率的初始比例。
步骤:热身需要 300 步。
python tools/train.py有关更多信息,例如在训练时进行测试以及使用预训练模型进行微调,请参阅:c configs/picodet/picodet_m_320_coco_lcnet.yml --eval
r output/picodet_m_320_coco/best_model
第 5 步:模型测试
%cd ~第 6 步:模型导出和提交在训练模型的过程中,会生成一些中间模型,即检查点,需要导出最优模型文件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 您最新的型号weights文件。 pdparams --use_vdl=ture
[gf]f06c[/gf]%cd ~最后一步是整理提交:调整文件夹,删除放置依赖文件的 paddledetection 文件夹中不相关的内容,最终文件形式如下(模型名称取决于您自己的情况)。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
关于在线练习赛的常见问题
error①:list index out of range
解决办法:请参阅以下两个问题:
错误的可能原因:
1.模型的标签配置与模型不匹配。
2.数据集存在问题。
3.导出模型时,对应的权重与对应的配置文件不一致。
error②:the predict.py script failed to run
解决方案:1检查并调整 env(依赖库,通常是 paddledetection 文件夹); 2.检查预测py 中的路径配置安装 PaddleDetection 时的版本关联很清楚
在线比赛路线图
作者:黄德卓,河池学院划桨试点组组长
同时感谢小组: 中二短尾猫 校对:丛林