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

在AI愛克斯開發板上用OpenVINO?加速YOLOv8目標檢測模型

AI愛克斯開發板上使用OpenVINO加速YOLOv8目標檢測模型

三種主流模型部署框架YOLOv8推理演示
YOLOv8實現任意目錄下命令行訓練

基于YOLOv8的自定義醫學圖像分割

基于OpenCV DNN實現YOLOv8的模型部署與推理演示

RV1126 yolov8訓練部署教程

評論