在Ubuntu系統上使用YOLOv5訓練自己的模型,你需要遵循以下步驟。這里我將詳細說明如何從準備數據集到訓練模型的整個過程。
步驟 1: 安裝依賴項
首先,確保你的Ubuntu系統上安裝了Python、PyTorch和必要的庫。你可以使用以下命令安裝這些依賴項:
sudo apt update
sudo apt install python3-pip
pip3 install torch torchvision torchaudio
pip3 install numpy matplotlib
pip3 install opencv-python
pip3 install Pillow
pip3 install scipy
步驟 2: 克隆YOLOv5倉庫
接下來,克隆YOLOv5的GitHub倉庫到你的系統中:
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
步驟 3: 準備數據集
你需要準備自己的數據集。數據集應該包含圖片和相應的標注文件(通常是YOLO格式的txt文件)。例如,你的文件夾結構可能是這樣的:
/dataset
/images
image1.jpg
image2.jpg
…
/labels
image1.txt
image2.txt
…
每個.txt文件包含與圖像對應的標注信息,
安裝labelimg來進行圖片信息標注,下載地址
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
輸出結果例如:
0 0.1 0.2 0.3 0.4 # class x_center y_center width height
1 0.6 0.7 0.1 0.2 # class x_center y_center width height
步驟 4: 創建數據集配置文件
在yolov5目錄中,編輯data文件夾下的hyp.yaml文件來配置你的數據集路徑和類別:
train: …/dataset/images/train/ # 訓練圖像路徑
val: …/dataset/images/val/ # 驗證圖像路徑
nc: 2 # 類別數,例如2個類別(人、車)
names: [‘person’, ‘car’] # 類別名稱列表
步驟 5: 訓練模型
使用以下命令開始訓練你的模型:
python train.py --img 640 --batch 16 --epochs 50 --data data/hyp.yaml --weights yolov5s.pt --name my_experiment --cache
這里是一些參數的解釋:
–img:輸入圖像的大小。
–batch:批量大小。
–epochs:訓練周期數。
–data:數據集配置文件路徑。
–weights:預訓練權重,例如yolov5s.pt。如果你從頭開始訓練,可以使用yolov5s.pt。對于從頭開始,你也可以使用yolov5s.yaml配置文件來指定網絡結構。
–name:實驗名稱,用于保存模型和結果。
–cache:啟用緩存以提高性能。
步驟 6: 驗證和測試模型
訓練完成后,你可以使用以下命令來評估你的模型:
python val.py --weights runs/train/my_experiment/weights/best.pt --data data/hyp.yaml --img 640 --conf 0.4 --iou 0.5 --device 0 --half # 使用最佳權重進行評估
步驟 7: 進行推理和測試(可選)
最后,你可以使用以下命令來測試你的模型:
python detect.py --weights runs/train/my_experiment/weights/best.pt --source data/dataset/images/test --img 640 --conf 0.4 --iou 0.5 --device 0 --half # 對測試圖像進行檢測
這樣,你就完成了在Ubuntu上使用YOLOv5訓練自己的模型的過程。確保根據你的具體需求調整參數和配置。