先到 pytorch 官網 對應一下CUDA版本及指令
YOLOv8 pytorch 環境建置 Win10
我的環境是:
- Python 3.10
- Nvidia driver 522.25
- Cuda 11.7
- Conda
- Cudnn 8.7
安裝方法可參閱此篇文章 :Win10用 Anaconda 建 3070系列的 Tensorflow 深度學習環境
先下載CUDA 11.7 載點
下載安裝好以後,把CUDNN 三個目錄COPY到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7下
到PyCharm 終端機下指令先建一個虛擬環境
- conda create -n python310 python=3.10.0
- conda activate python310
複製代碼 3070 安裝TORCH
- conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
複製代碼
4070 安裝TORCH- conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
複製代碼
接下來都一樣
- pip install opencv-contrib-python
複製代碼 3070
- pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 -f https://download.pytorch.org/whl/torch_stable.html
複製代碼
4070
- pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 -f https://download.pytorch.org/whl/torch_stable.html
複製代碼
YOLOv8 pytorch 環境建置 Win10
v8 是由 v5 的原創公司 Ultralytics 改良的
改良特點- 提供一個框架,可執行之前所有版本的模型。
- 全新的骨幹網路模型(Backbone network)。
- 不使用事先設定的偵測框(anchor-free detection head)。
- 使用新的損失函數(Loss function)。
- CPU/GPU兼容。
- 訓練時間縮短為60%。
- 預測更準確(mAP),如下圖。
YOLOv8 pytorch 環境建置 Win10
YOLO v8 vs. v7 參數量與 mAP 比較,圖片來源:YOLO v8 GitHub
1.測試打開終端機或cmd,輸入以下指令,進行物件偵測: - yolo predict model=yolov8n.pt source="https://ultralytics.com/images/bus.jpg"
複製代碼原圖
YOLOv8 pytorch 環境建置 Win10
存檔位置預設在 runs\detect\predict 資料夾下。
YOLOv8 pytorch 環境建置 Win10
或者也可以從頭開始訓練模型,在YOLO安裝的資料夾下尋找各Model的yaml檔
如選擇yolov8.yaml
YOLOv8 pytorch 環境建置 Win10
準備一個yaml來描述這些資料的位置,如以下data.yaml的內容 - path: d:/yolo
- train: ./train/images
- val: ./valid/images
- test: ./test/images
- nc: 1
- names: [‘dog’]
複製代碼
用Python指令來進行訓練 - from ultralytics import YOLO
- import multiprocessing
- model = YOLO("yolov8.yaml")
- model.train(data="data.yaml",
- mode="detect",
- epochs=100,
- imgsz=640,
- device="cpu")
複製代碼
其中device參數若未指定則會使用GPU進行訓練,device=0即使用第一張GPU卡,也可device=0,1使用2張卡來進行運算,而device=cpu即使用CPU來運算
YOLOv8 pytorch 環境建置 Win10
以上即是簡單的進行訓練與測試教學
另外需注意檔案設定 C:\Users\Administrator\AppData\Roaming\Ultralytics\settings.yaml
YOLOv8 pytorch 環境建置 Win10
描述
- settings_version: 0.0.4
- datasets_dir: D:\yolo\datasets
- weights_dir: weights
- runs_dir: runs
- uuid: 8dfc68cd7948fa055541ec71f7687a994797279b020c6df0479825ff19aafdf9
- sync: true
- api_key: ''
- clearml: true
- comet: true
- dvc: true
- hub: true
- mlflow: true
- neptune: true
- raytune: true
- tensorboard: true
- wandb: true
複製代碼 datasets路徑 D:\yolo\datasets
參考文章
https://hackmd.io/@luckychi/yolov8_simple_tutorial
https://ithelp.ithome.com.tw/articles/10311114
https://blog.csdn.net/qq_26938321/article/details/128697956
https://www.cnblogs.com/thx2199/p/17165169.html
文章出處: NetYea 網頁設計
|