# YOLOv8 基本環境與教學 ###### tags: `YOLO` `AI` 2023年Ultralytics釋出YOLOv8,相較於以前的版本速度更加提升 以下簡單說明基本環境與訓練、預測的教學 ### 1. 首先下載CUDA版本,以及cuDNN 我們可以從NVIDIA官網進行下載,選定你的作業系統以及想要下載的版本 [https://developer.nvidia.com/cuda-downloads](https://developer.nvidia.com/cuda-downloads)  另外小提醒,cuDNN需要註冊會員後才能下載  > 把 C:\Users\<username>\Downloads\cuda\bin 資料夾內檔案複製到 > C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin > > 把 C:\Users\<username>\Downloads\cuda\include 資料夾內檔案複製到 > C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include > > 把 C:\Users\<username>\Downloads\cuda\lib\x64 資料夾內檔案複製到 >C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib\x64 ### 2. 接著安裝Python版本,筆者使用的版本是Python3.9,注意要從Python官網下載才行 Python的版本需>=3.7 [https://www.python.org/](https://www.python.org/) ### 3. 接下來透過pip進行安裝,可從PyTorch官網上選擇執行版本對應的指令 安裝PyTorch, 版本需>=1.7 [https://pytorch.org/get-started/locally/](https://pytorch.org/get-started/locally/)  安裝YOLOv8 `pip install ultralytics` 至此,基本環境已建置完成 ### 4. 進行YOLOv8訓練 圖片影像資料可以從各地蒐集或從Kaggle上下載,但請注意版權應用 準備好圖片資料後,須將圖片分成訓練(train)、驗證(valid)、以及測試(test)三個資料夾,如以下結構 > * train (訓練資料) > * images (圖片) > * labels (標註) > * valid (驗證資料) > * images (圖片) > * labels (標註) > * test (測試資料) > * images (圖片) > * labels (標註) 標註的資料須依照YOLO的格式,這邊可用LabelImg來進行,或是藉由RoboFlow線上方式來進行標註 LabelImge下載,pip執行 `pip install labelimg` RoboFlow官網 [https://roboflow.com/](https://roboflow.com/) 筆者較推薦使用RoboFlow來進行資料的標註 接著需選定一個模型來進行訓練,YOLOv8提供了一些基本的預訓練模型可供下載來使用  模型下載 [https://github.com/ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) 或者也可以從頭開始訓練模型,在YOLO安裝的資料夾下尋找各Model的yaml檔 如選擇yolov8n.yaml  最後準備一個yaml來描述這些資料的位置,如以下data.yaml的內容 > path: C:/yolo/yolov8 > train: ./train/images > val: ./valid/images > test: ./test/images > > nc: 1 > names: ['cat'] 準備好資料即可開始訓練,訓練的指令如下,參數可參考YOLOv8官網的documents `yolo detect train data=data.yaml model=yolov8n.pt epochs=100 imgsz=640 conf=0 device=cpu` [https://docs.ultralytics.com/](https://docs.ultralytics.com/) 也可以使用Python指令來進行訓練 ```python= from ultralytics import YOLO model = YOLO("yolov8n.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來運算 由於筆者測試的電腦顯示卡型號太舊,會出現以下錯誤 RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED 因此筆者下面都使用CPU來進行訓練與預測  訓練完後的資料會出現在runs/detect/train底下,訓練好的模型放在runs/detect/train/weights底下,我們接下來將使用best.pt來進行估測 ### 5. 進行YOLO估測 使用以下指令進行估測 `yolo detect predict model=best.pt source=test/images save=true device=cpu`  當save=true時,會將預測的結果儲存在runs/detect/predict底下 同樣以Python指令執行時 ```python= from ultralytics import YOLO model = YOLO("best.pt") result = model.predict( source="test/images", mode="predict", save=True, device="cpu" ) ``` **以上即是簡單的進行訓練與測試教學**
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.