正在進行中,隨時更新
一. Anaconda配置
?1.安裝anaconda
(1)下載.sh文件
Index of /anaconda/archive/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror
(2)scp到服務器后,運行安裝包
bash Anaconda3-2020.07-Linux-x86_64.sh
(3)安裝anaconda
1.回車進入注冊界面(q鍵跳過閱讀)
2.yes
3.設置安裝路徑,選擇默認就直接回車
4.Do you wish the installer to initialize Anaconda3 by running conda init ?
您是否希望安裝程序通過運行 conda init 來初始化 Anaconda3?--yes?
(4)修改環境變量,并驗證安裝
vim ~/.bashrcexport PATH="/home/username/anaconda3/bin:$PATH"source ~/.bashrcconda --version
常用conda指令?
#創建
conda create -n your_env_name python=3.8#激活
source activate your_env_name#退出
source deactivate your_env_name#刪除
conda remove -n your_env_name --all#安裝包
conda install package_name(包名)
conda install scrapy==1.3 # 安裝指定版本的包
conda install -n 環境名 包名 # 在conda指定的某個環境中安裝包#查看當前存在哪些虛擬環境
conda env list
二. yolov8、yolo11、yolo12?區別
YOLO11與YOLOv8差異可以由圖中得
橫坐標:處理一張圖像的速度快慢(Latency),單位ms
縱坐標:COCO數據集上的平均精度(mAP),范圍從0.50到0.95,越高表示模型的檢測精度越好
曲線越靠右上,表示模型在保持較低Latency的同時,能夠達到更高的mAP,性能越好。
1.YOLO11 改進及優劣
1.針對現代 GPU 優化訓練和推理,訓練速度提升 25%,延遲降低(如 Nano 模型延遲從 1.84ms 降至 1.55ms)
2.新增旋轉邊界框(OBB)、姿態估計等專用模型(后綴如?-obb
、-pose
)
3.通過架構優化減少參數數量,保持精度同時提升效率
優勢:
- 高推理效率,尤其在 GPU 上表現出色,適合實時高負載場景
- 模型壓縮技術成熟,適合資源受限的嵌入式設備
劣勢:
- 超大模型(如 YOLOv11x)的延遲反而增加(11.31ms vs YOLOv10x 的 10.70ms)
- 對自定義數據集的遷移學習效果略遜于 YOLOv8(mAP 差距約 0.5)
-
YOLOv8:追求高精度和復雜任務(如實例分割、姿態估計),硬件資源充足
-
YOLOv11:需要低延遲、高吞吐量的實時應用(如工業檢測、移動端部署),或需處理旋轉目標
三. yolov8n-seg
官方文檔:YOLOv8 -Ultralytics YOLO 文檔
1. yolov8環境配置
創建yolov8 conda 虛擬環境,在虛擬環境中
# 安裝YOLOv8,直接使用命令安裝
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple# 或者通過拉取倉庫然后安裝
git clone https://github.com/ultralytics/ultralytics
cd ultralytics
pip install -e .
2. 訓練
參考官方說明文檔
https://docs.ultralytics.com/modes/train/#arguments
四. yolo11
1. yolo11 介紹
Ultralytics YOLO11?是新一代計算機視覺模型, 在目標檢測、實例分割、圖像分類、姿勢估計、定向物體檢測和對象跟蹤等計算機視覺任務上展現了卓越的性能和準確性。
整體上yolo11相較于yolov8變化不大, 主要的改變有加入多頭注意力機制,分類檢測頭加入深度可分離卷積等等,在性能和準確度上相對于yolov8有顯著提升。
官方文檔:YOLO11 🚀 新 -Ultralytics YOLO 文檔
2. yolo11 模型訓練
2.1 yolov11 工程及環境配置
conda create -n yolo11 python=3.8
conda activate yolo11# 配置pip源(可選)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/# 安裝
pip install ultralytics# 或者
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .# 檢測版本
(yolo11) yolo version
8.3.29
安裝完成后,為了轉onnx模型和更好的訓練,建議再配置如下幾個庫,可以參考官方項目中的requirement.txt文件。
pip install tensorboard==2.13.0 onnx==1.12.0 onnxsim==0.4.1 pycocotools==2.0.6 -i https://pypi.tuna.tsinghua.edu.cn/simple/
2.2 訓練yolo11
進行模型推理測試:
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
會自動下載模型權重及測試圖片。結果保存在runs/detect/predict目錄下。
訓練自己的數據集需要分別配置以下內容:
1)yaml模型文件
位于:./yolo11/ultralytics/ultralytics/cfg/models/11。
需要創建一個根據自己需要的yaml文件:yolo11-seg_1class.yaml
將類別修改為1。便于部署。
2)預訓練模型(可以用默認文件,自動下載)
默認model=yolo11n.pt
3)訓練數據和參數
在./yolo11/ultralytics/ultralytics/cfg/datasets路徑下,參考coco128.yaml文件,制作一個單一類別的參數文件。需要更改類別名和訓練數據路徑。
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco128 ← downloads here (7 MB)# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: /home/username/datase
train: images/train # train images (relative to 'path') 128 images
val: images/val # val images (relative to 'path') 128 images
test: # test images (optional)# Classes
names:0: qrcode
在./yolo11/ultralytics/ultralytics路徑下新建一個mytrain_1c_detect.py文件。
設置輸入模型的圖像大小
from ultralytics import YOLOmodel = YOLO('./ultralytics/cfg/models/11/yolo11-seg_1class.yaml').load('./yolo11n.pt') # build from YAML and transfer weights
results = model.train(data='./ultralytics/cfg/datasets/charge-seg.yaml', epochs=200, batch=128, imgsz=512, device=0, project='grassDetect')
在終端中運行:
python mytrain_1c_detect.py
2.3 模型轉換
導出為onnx格式模型?
模型導出使用專門針對rknn優化的?ultralytics_yolo11?。 該工程在基于不影響輸出結果, 不需要重新訓練模型的條件下, 有以下改動:
-
修改輸出結構, 移除后處理結構(后處理結果對于量化不友好);
-
dfl 結構在 NPU 處理上性能不佳,移至模型外部的后處理階段,此操作大部分情況下可提升推理性能;
-
模型輸出分支新增置信度的總和,用于后處理階段加速閾值篩選。
git clone https://github.com/airockchip/ultralytics_yolo11.git# 修改 ./ultralytics/cfg/default.yaml中model文件路徑,默認為yolo11n.pt# 導出onnx模型
export PYTHONPATH=./
python ./ultralytics/engine/exporter.py
導出的onnx模型會在同目錄下,使用?netron?查看其模型輸入輸出。