〇、詳細(xì)視頻教程
bilibili詳細(xì)視頻教程
一、(ultralytic)YOLOV8項(xiàng)目部署
github鏈接:https://github.com/ultralytics/ultralytics
git拉取項(xiàng)目:
git clone https://github.com/ultralytics/ultralytics.git
二、cuda、cudnn、Pytorch等環(huán)境安裝與卸載
首先查看pytorch支持的最高版本
PyTorch
https://pytorch.org/
然后查看N卡系統(tǒng)支持最高的版本
然后權(quán)衡下載支持最高版本的CUDA和cuDNN
CUDA工具包
https://developer.nvidia.cn/zh-cn/cuda-toolkit
cuDNN
https://developer.nvidia.com/rdp/cudnn-download
配置對應(yīng)的環(huán)境變量
nvcc -V
:查看版本CUDA
安裝項(xiàng)目依賴
pip install -e ultralytics
pip install ultralytics
pip install yolo
卸載項(xiàng)目依賴為你安裝CPU版本pytorch,打開pytorch官網(wǎng),使用對應(yīng)命令下載GPU版本
三、YOLOV8的簡單講解與推理使用
推理示例:
yolo task=detect mode=predict model=yolov8n.pt conf=0.25 source=‘ultralytics/assets/bus.jpg’
推理示例:
yolo task=detect mode=train model=yolov8s.pt data={dataset.location}/data.yaml epochs=100 imgsz=640 resume=True workers=2
四、如何制作自定義數(shù)據(jù)集并訓(xùn)練
1.自定義數(shù)據(jù)集結(jié)構(gòu)講解與制作
數(shù)據(jù)結(jié)構(gòu):
datasets
├─ data.yaml
├─ test
│ ├─ images
│ │ └─ ······
│ └─ labels
│ └─ ······
├─ train
│ ├─ images
│ │ └─ ······
│ └─ labels
│ └─ ······
├─ valid
│ ├─ images
│ │ └─ ······
│ └─ labels
│ └─ ······
├─ data.yaml
└─ yolov8n.yaml
2.YOLO CLI的簡單介紹
3.如何中斷續(xù)訓(xùn)
中斷續(xù)訓(xùn)示例:
yolo task=detect mode=train model=runs/detect/train12/weights/last.pt epochs=500 imgsz=640 resume=True workers=2
其他:
cmd切換到對應(yīng)的虛擬環(huán)境
conda info -e
activate ultralytics
test.py代碼(查看pytorch是否支持GPU):
#輸入庫
import torch
#查看版本
print(torch.__version__)
#查看gpu是否可用
print(torch.cuda.is_available())
#返回設(shè)備gpu個(gè)數(shù)
print(torch.cuda.device_count())
# 查看對應(yīng)CUDA的版本號
print(torch.backends.cudnn.version())
print(torch.version.cuda)
#退出python
quit()
按比例移動制作自定義數(shù)據(jù)集代碼:文章來源:http://www.zghlxwxcb.cn/news/detail-798139.html
import os
import random
from tqdm import tqdm
# 指定 images 文件夾路徑
image_dir = "D:/zm/coco128/images"
# 指定 labels 文件夾路徑
label_dir = "D:/zm/coco128/labels"
# 創(chuàng)建一個(gè)空列表來存儲有效圖片的路徑
valid_images = []
# 創(chuàng)建一個(gè)空列表來存儲有效 label 的路徑
valid_labels = []
# 遍歷 images 文件夾下的所有圖片
for image_name in os.listdir(image_dir):
# 獲取圖片的完整路徑
image_path = os.path.join(image_dir, image_name)
# 獲取圖片文件的擴(kuò)展名
ext = os.path.splitext(image_name)[-1]
# 根據(jù)擴(kuò)展名替換成對應(yīng)的 label 文件名
label_name = image_name.replace(ext, ".txt")
# 獲取對應(yīng) label 的完整路徑
label_path = os.path.join(label_dir, label_name)
# 判斷 label 是否存在
if not os.path.exists(label_path):
# 刪除圖片
os.remove(image_path)
print("deleted:", image_path)
else:
# 將圖片路徑添加到列表中
valid_images.append(image_path)
# 將label路徑添加到列表中
valid_labels.append(label_path)
# print("valid:", image_path, label_path)
# 遍歷每個(gè)有效圖片路徑
for i in tqdm(range(len(valid_images))):
image_path = valid_images[i]
label_path = valid_labels[i]
# 隨機(jī)生成一個(gè)概率
r = random.random()
# 判斷圖片應(yīng)該移動到哪個(gè)文件夾
# train:valid:test = 7:3:1
if r < 0.1:
# 移動到 test 文件夾
destination = "D:/sj/project/python/ultralytics/datasets/test"
elif r < 0.2:
# 移動到 valid 文件夾
destination = "D:/sj/project/python/ultralytics/datasets/valid"
else:
# 移動到 train 文件夾
destination = "D:/sj/project/python/ultralytics/datasets/train"
# 生成目標(biāo)文件夾中圖片的新路徑
image_destination_path = os.path.join(destination, "images", os.path.basename(image_path))
# 移動圖片到目標(biāo)文件夾
os.rename(image_path, image_destination_path)
# 生成目標(biāo)文件夾中 label 的新路徑
label_destination_path = os.path.join(destination, "labels", os.path.basename(label_path))
# 移動 label 到目標(biāo)文件夾
os.rename(label_path, label_destination_path)
print("valid images:", valid_images)
#輸出有效label路徑列表
print("valid labels:", valid_labels)
參考:
Ultralytics YOLOv8 Docs(官方的說明文檔)
Windows10系統(tǒng)pytorch、cuda11.0、cuDNN安裝
cuda 和 cudnn 庫的卸載與安裝 - 知乎
Pytorch環(huán)境詳細(xì)安裝教程【W(wǎng)in10+CUDA升級11.6+cudNN+Anaconda3虛擬環(huán)境+pycharm】文章來源地址http://www.zghlxwxcb.cn/news/detail-798139.html
到了這里,關(guān)于【yolov8】從0開始搭建部署YOLOv8,環(huán)境安裝+推理+自定義數(shù)據(jù)集搭建與訓(xùn)練,一小時(shí)掌握的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!