1 創建虛擬環境
conda create -n yolov11 python=3.9
conda activate yolov11
2 安裝ultralytics
默認是有cuda的情況下
# Install all packages together using conda
conda install pytorch torchvision
conda 還不能直接安裝ultralytics,需要通過pip進行安裝
pip install ultralytics
但是可能會因為網絡問題報錯,根據官網提示可以使用下面的方式:
pip install git+https://github.com/ultralytics/ultralytics.git@main
當然也可以試多幾次,或者使用下面的命令添加嘗試參數:
pip install --resume-retries 5 ultralytics
安裝好后基本上差不多了,可以直接在終端上運行:yolo
(yolov11) xxx@xxx:your path to/yolov11$ yolo
WARNING ?? Ultralytics settings reset to default values. This may be due to a possible problem with your settings or a recent ultralytics package update.
View Ultralytics Settings with 'yolo settings' or at '/home/a/.config/Ultralytics/settings.json'
Update Settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings.Arguments received: ['yolo']. Ultralytics 'yolo' commands use the following syntax:yolo TASK MODE ARGSWhere TASK (optional) is one of ['obb', 'pose', 'detect', 'segment', 'classify']MODE (required) is one of ['predict', 'export', 'track', 'benchmark', 'train', 'val']ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.See all ARGS at https://docs.ultralytics.com/usage/cfg or with 'yolo cfg'1. Train a detection model for 10 epochs with an initial learning_rate of 0.01yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.012. Predict a YouTube video using a pretrained segmentation model at image size 320:yolo predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=3203. Val a pretrained detection model at batch-size 1 and image size 640:yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=6404. Export a YOLO11n classification model to ONNX format at image size 224 by 128 (no TASK required)yolo export model=yolo11n-cls.pt format=onnx imgsz=224,1285. Ultralytics solutions usageyolo solutions count or in ['crop', 'blur', 'workout', 'heatmap', 'isegment', 'visioneye', 'speed', 'queue', 'analytics', 'inference', 'trackzone'] source="path/to/video.mp4"6. Run special commands:yolo helpyolo checksyolo versionyolo settingsyolo copy-cfgyolo cfgyolo solutions helpDocs: https://docs.ultralytics.comSolutions: https://docs.ultralytics.com/solutions/Community: https://community.ultralytics.comGitHub: https://github.com/ultralytics/ultralytics
也就是可以直接使用Ultralytics 命令行界面CLI,它提供了一種直接使用Ultralytics YOLO 模型的方法,無需Python 環境。CLI 支持直接從終端運行各種任務,使用 yolo 命令,無需定制或編寫Python 代碼。(怎么聽都覺得不是很對,因為已經安裝了python啊,可能是因為不需要先使用python進入python環境吧)
3 驗證環境
(1)驗證預測環境
既然是直接用Ultralytics 命令行界面CLI,那就直接使用命令進行預測,這里使用的是定向邊框對象檢測:OBB,我們預測一下:
yolo obb predict model=yolo11n-obb.pt source='https://ultralytics.com/images/boats.jpg'
直接在終端輸入這個命令,接著就會自動下載預訓練模型以及圖片素材:
(yolov11) xxx@xxx:path to/yolov11$ yolo obb predict model=yolo11n-obb.pt source='https://ultralytics.com/images/boats.jpg'
Downloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-obb.pt to 'yolo11n-obb.pt'...
100%|████████████████████████████████████████████████████████████████████████████████| 5.53M/5.53M [09:52<00:00, 9.78kB/s]
Ultralytics 8.3.155 🚀 Python-3.9.23 torch-2.5.1 CUDA:0 (NVIDIA GeForce RTX 4090, 23993MiB)
YOLO11n-obb summary (fused): 109 layers, 2,656,648 parameters, 0 gradients, 6.6 GFLOPsDownloading https://ultralytics.com/images/boats.jpg to 'boats.jpg'...
WARNING ?? Download failure, retrying 1/3 https://ultralytics.com/images/boats.jpg...
################################################################################################################### 100.0%################################################################################################################### 100.0%curl: (28) Failed to connect to github.com port 443 after 133813 ms: 連接超時 #
Warning: Problem : timeout. Will retry in 1 seconds. 3 retries left.
################################################################################################################### 100.0%################################################################################################################### 100.0%################################################################################################################### 100.0%
image 1/1 /media/a/data4t/DL/yolov11/boats.jpg: 576x1024 None66.3ms
Speed: 10.3ms preprocess, 66.3ms inference, 189.6ms postprocess per image at shape (1, 3, 576, 1024)
Results saved to runs/obb/predict
💡 Learn more at https://docs.ultralytics.com/modes/predict
所需要的預訓練模型以及測試圖像素材將會下載在當前目錄,并進行預測后的結果保存在當前目錄的:runs/obb/predict
中,查看一下結果:
原圖
結果圖
看樣子方便很多,連源碼都沒有調一個,直接就有結果了。
(2) 驗證訓練環境
使用dota8的數據進行預訓練:
yolo obb train data=dota8.yaml model=yolo11n-obb.pt epochs=5 imgsz=640 device=0,1 batch=128
至于參數,可以使用yolo cfg
進行查看。
輸入上面的訓練命令后,會先下載所需要的模型和數據庫,這里因為偷懶,就用官方提供的數據好了。所需要的數據將會下載到datasets
中。訓練的過程將會保存到runs/obb/train/
中,
目錄中包含了訓練的中間過程,各種曲線以及每個批次對應的初始結果等,訓練的結果將保存在runs/obb/train/weights
中,保存了acc最好以及最后一個輪次的結果。
總體看起來,跟早期版本使用源碼進行訓練預測的結果一樣,看來方便很多了。當然訓練的過程中也可以使用工具去查看中間過程,這里就不展示了。
總結
ultralytics其實是一個大平臺,方便了很多想用yolo的同學,但是有點不好的是,作為一個開發者,沒有源碼的加持,總感覺不得勁,看不到源碼的中間過程,并沒有很踏實。
本文已經完成了yolo新版本的環境搭建,至于后續的轉換以及其他步驟,就不闡述了。