1.下載Yolov5的源碼
- 克隆一下yolov5的代碼
git clone https://github.com/huangfengge/yolov5
- 配置好項(xiàng)目所需的依賴包
2. 主函數(shù)講解
opt 為執(zhí)行可以傳遞的參數(shù)
if __name__ == '__main__':
opt = parse_opt()
main(opt)
- 具體的參數(shù)如圖所示,比較重要的參數(shù) weights權(quán)重文件、–source 數(shù)據(jù)集合 – data 數(shù)據(jù)集的配置
- weights 權(quán)重文件
– source 為需要推理的原圖
-
data參數(shù) 數(shù)據(jù)配置
-
imgsz 參數(shù)是訓(xùn)練配置圖片的大小
-
device 設(shè)備信息,使用的Gpu還是cpu
-
這些參數(shù)都可以通過(guò)命令進(jìn)行傳遞
cd /home/hfg/Soft/Idea_Project/deep/yolov5
python detect.py --weights yolov5s.pt --source data/images/bus.jpg
- 將推理結(jié)果放入runs/detect/exp3進(jìn)行了保存
3.文件標(biāo)頭的注釋
- 明顯的示例告訴了我們的使用方法
4. main函數(shù)的
- 第一個(gè)方法檢測(cè)了當(dāng)前的依賴包是否安裝
- 進(jìn)行了下一步的run函數(shù)
def main(opt):
check_requirements(exclude=('tensorboard', 'thop')) # 檢測(cè)是否安裝包
run(**vars(opt))
- requirements安裝
- 里面定義了各個(gè)依賴包使用的版本
5. run函數(shù)
- run 函數(shù)一共分為7個(gè)部分
5.1 第一塊參數(shù)部分
- 如圖所示我們可以看到傳遞的參數(shù)部分
5.2第二塊,傳入數(shù)據(jù)預(yù)處理
- 傳入的可以是字符串圖片名稱,并對(duì)圖片進(jìn)行格式校驗(yàn),可以支持的圖片類型(如下圖),如果是url地址或者文件地址進(jìn)行下載操作。
- 可以支持的數(shù)據(jù)類型
- 下載文件的代碼
5.3 第三塊創(chuàng)建文件夾
- 是否將推理過(guò)程寫(xiě)入一個(gè)txt文件
- 因save-txt是默認(rèn)為false,增加上表示true,這樣就生成了一個(gè)labels 文件
python detect.py --weights yolov5s.pt --source data/images/bus.jpg --save-txt
- 類型和坐標(biāo)信息
5.4 第四塊 加載模型的權(quán)重
- 選擇當(dāng)前訓(xùn)練設(shè)備的信息,gpu和cpu信息
- 模型框架 yolov5和pytorch
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-473767.html
5.5 第五塊 Dataloader 加載模塊
- 一般加載的都是image
- 可以配置圖片的大小,如果是多個(gè)圖片使用數(shù)組
5.6 第六塊 推理部分 Run inference
- 熱身先給cpu和gpu一張圖片進(jìn)行熱身處理
- 變量每個(gè)圖片進(jìn)行推理
- 確定檢測(cè)的坐標(biāo)
- 熱身處理
- 具體的畫(huà)框
- 輸出預(yù)測(cè)的結(jié)果進(jìn)行保存
5.7 輸出結(jié)果 Print results
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-473767.html
到了這里,關(guān)于【Yolov5】保姆級(jí)別源碼講解之-推理部分detect.py文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!