Python?的?ultralytics?庫功能及安裝方法
ultralytics
是一個專注于計算機視覺任務的 Python 庫,尤其以 YOLO(You Only Look Once) 系列模型為核心,提供了簡單易用的接口,支持目標檢測、實例分割、姿態(tài)估計等任務。本文將詳細介紹 ultralytics
庫的功能、安裝方法、核心模塊以及使用示例。
1. ultralytics 庫簡介
ultralytics
庫由 Ultralytics 團隊開發(fā),旨在為 YOLO 系列模型提供高效、靈活且易于使用的工具。它支持 YOLOv5、YOLOv8 等最新版本的 YOLO 模型,并提供了以下核心功能:
- 目標檢測:檢測圖像或視頻中的目標。
- 實例分割:對目標進行像素級分割。
- 姿態(tài)估計:檢測目標的關鍵點(如人體姿態(tài))。
- 模型訓練:支持自定義數(shù)據(jù)集的訓練。
- 模型導出:將模型導出為多種格式(如 ONNX、TensorRT 等)。
2. 安裝 ultralytics
ultralytics
可以通過 pip 安裝:
pip install ultralytics
安裝完成后,可以通過以下命令驗證是否安裝成功:
import ultralytics print(ultralytics.__version__)
3. 核心模塊與功能
(1)YOLO 模型加載與推理
ultralytics
提供了 YOLO
類,用于加載預訓練模型或自定義模型,并進行推理。
加載模型
from ultralytics import YOLO # 加載預訓練模型 model = YOLO("yolov8n.pt") # YOLOv8 Nano 模型
推理
# 對單張圖像進行推理 results = model("image.jpg") # 顯示結果 results.show()
保存結果
# 保存檢測結果 results.save("output.jpg")
(2)模型訓練
ultralytics
支持自定義數(shù)據(jù)集的訓練。
準備數(shù)據(jù)集
數(shù)據(jù)集需要按照 YOLO 格式組織:
dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/
訓練模型
# 加載模型 model = YOLO("yolov8n.pt") # 訓練模型 results = model.train(data="coco128.yaml", epochs=50, imgsz=640)
(3)模型驗證
訓練完成后,可以使用驗證集評估模型性能。
# 驗證模型 metrics = model.val() print(metrics.box.map) # 打印 mAP 值
(4)模型導出
ultralytics
支持將模型導出為多種格式,以便在其他平臺上部署。
# 導出為 ONNX 格式 model.export(format="onnx")
4. 使用示例
目標檢測
from ultralytics import YOLO # 加載模型 model = YOLO("yolov8n.pt") # 對圖像進行推理 results = model("image.jpg") # 顯示結果 results.show()
實例分割
from ultralytics import YOLO # 加載實例分割模型 model = YOLO("yolov8n-seg.pt") # 對圖像進行推理 results = model("image.jpg") # 顯示分割結果 results.show()
姿態(tài)估計
from ultralytics import YOLO # 加載姿態(tài)估計模型 model = YOLO("yolov8n-pose.pt") # 對圖像進行推理 results = model("image.jpg") # 顯示姿態(tài)估計結果 results.show()
視頻推理
from ultralytics import YOLO # 加載模型 model = YOLO("yolov8n.pt") # 對視頻進行推理 results = model("video.mp4") # 保存結果 results.save("output.mp4")
5. 高級功能
(1)自定義模型
ultralytics
支持加載自定義訓練的模型。
from ultralytics import YOLO # 加載自定義模型 model = YOLO("custom_model.pt") # 推理 results = model("image.jpg")
(2)多 GPU 訓練
ultralytics
支持多 GPU 訓練,以加速訓練過程。
# 使用 4 個 GPU 進行訓練 results = model.train(data="coco128.yaml", epochs=50, imgsz=640, device=[0, 1, 2, 3])
(3)TensorRT 加速
ultralytics
支持將模型導出為 TensorRT 格式,以在 NVIDIA GPU 上加速推理。
# 導出為 TensorRT 格式 model.export(format="engine")
6. 總結
ultralytics
是一個功能強大且易于使用的計算機視覺庫,特別適合 YOLO 系列模型的應用。它提供了從模型加載、推理、訓練到導出的完整功能,支持目標檢測、實例分割、姿態(tài)估計等多種任務。無論是研究還是生產(chǎn)環(huán)境,ultralytics
都能滿足你的需求。
希望本文能幫助你快速上手 ultralytics
庫!如果有任何問題,歡迎在評論區(qū)留言討論! ??
參考鏈接
到此這篇關于Python 的 ultralytics 庫詳解的文章就介紹到這了,更多相關Python ultralytics 庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PyTorch中tensor.backward()函數(shù)的詳細介紹及功能實現(xiàn)
backward()?函數(shù)是PyTorch框架中自動求梯度功能的一部分,它負責執(zhí)行反向傳播算法以計算模型參數(shù)的梯度,這篇文章主要介紹了PyTorch中tensor.backward()函數(shù)的詳細介紹,需要的朋友可以參考下2024-02-02python中Scikit-learn庫的高級特性和實踐分享
Scikit-learn是一個廣受歡迎的Python庫,它用于解決許多機器學習的問題,在本篇文章中,我們將進一步探索Scikit-learn的高級特性和最佳實踐,需要的朋友可以參考下2023-07-07在Python中使用SimpleParse模塊進行解析的教程
這篇文章主要介紹了在Python中使用SimpleParse模塊進行解析的教程,文章來自于IBM官方的開發(fā)者技術文檔,需要的朋友可以參考下2015-04-04windows10下python3.5 pip3安裝圖文教程
這篇文章主要為大家詳細介紹了windows10下python3.5 pip3安裝圖文教程,注意區(qū)分python 2.x和python 3.x的相關命令,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04Python利用pyHook實現(xiàn)監(jiān)聽用戶鼠標與鍵盤事件
這篇文章主要介紹了Python利用pyHook實現(xiàn)監(jiān)聽用戶鼠標與鍵盤事件,很有實用價值的一個技巧,需要的朋友可以參考下2014-08-08