全國大學生智慧型汽車競賽是教育部倡導的科技類大學生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 時的版本關聯很清楚
線上比賽路線圖
作者:黃德卓,河池學院划槳試點組組長
同時感謝小組: 中二短尾貓 校對:叢林