YOLOv8源碼到底在哪?
很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發(fā)現(xiàn)找到的YOLOv8項(xiàng)目下面TAG分支是空的,然后就直接從master/main下面把源碼克隆出來一通修改了,其實(shí)這種方式風(fēng)險(xiǎn)很高,而且也不是正確的選擇,原因在于Master/main分支是工作跟合并的代碼主倉,不是發(fā)布的版本代碼,開源項(xiàng)目團(tuán)隊(duì)開發(fā)者隨時(shí)隨地都在修改代碼,很可能導(dǎo)致引入新BUG,直接使用master/main分支的下面的代碼會(huì)有兩個(gè)致命問題:
1. 無法標(biāo)記版本信息 2. 無法確信代碼的是否含有致命BUG靈魂拷問,YOLOv8對(duì)應(yīng)版本的源代碼究竟在哪里?其實(shí)對(duì)Python安裝包稍微了解一下你就知道了,以我自己為例,我是用pip方式安裝YOLOv8的,查找一下安裝好的YOLOv8包目錄應(yīng)該如下(默認(rèn)情況下):
C:UsersAdministratorAppDataLocalProgramsPythonPython38Libsite-packages然后找到下面的兩個(gè)文件夾,源碼就在這里了。
YOLOv8添加SE注意力模塊
分別修改YOLOv8的模型描述文件yolov8.yaml,模型加載與定義文件task.py與模塊結(jié)構(gòu)化實(shí)現(xiàn)文件block.py,修改的內(nèi)容跟YOLOv5注意力機(jī)制添加完全一致。修改yolov8.yaml文件,這里我直接插入了SENet注意力模塊,修改以后文件與之前的文件對(duì)比如下:
然后修改源碼文件task.py與block.py 實(shí)現(xiàn)SENet注意機(jī)制解析支持。全部完成之后就可以直接開始訓(xùn)練模型了,這里基于我的DM碼數(shù)據(jù)集完成模型結(jié)構(gòu)修改之后的YOLOv8注意力模型的訓(xùn)練,命令行跟以前唯一不同的是需要從指定修改的YAML文件開始訓(xùn)練,才是對(duì)的,訓(xùn)練的命令行如下:
yolo train model=yolov8.yaml data=dm_dataset.yaml epochs=15 imgsz=640 batch=1
ONNX導(dǎo)出與推理測(cè)試
然后導(dǎo)出ONNX格式模型,設(shè)置一下opset=11 會(huì)有好處。
yolo export model=runsdetect rain10weightsest.pt format=onnx
導(dǎo)出ONNX格式也可以啦。
預(yù)測(cè)推理
yolo predict mode=detect model=runsdetect rain10weightsest.onnx
從此又解鎖了YOLOv8模型結(jié)構(gòu)+各種注意力機(jī)制的即插即用從訓(xùn)練到導(dǎo)出部署技能。
審核編輯:劉清
-
python
+關(guān)注
關(guān)注
56文章
4801瀏覽量
84857 -
YAML
+關(guān)注
關(guān)注
0文章
21瀏覽量
2334
原文標(biāo)題:YOLOv8修改+注意力模塊 訓(xùn)練與部署
文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論