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