─░├žeri─če ge├ž

TensorRT YOLOv8 Modelleri i├žin D─▒┼ča Aktarma

Bilgisayarla g├Ârme modellerini y├╝ksek performansl─▒ ortamlarda da─č─▒tmak, h─▒z─▒ ve verimlili─či en ├╝st d├╝zeye ├ž─▒karan bir bi├žim gerektirebilir. Bu durum ├Âzellikle modelinizi NVIDIA GPU'larda kullan─▒rken ge├žerlidir.

TensorRT d─▒┼ča aktarma format─▒n─▒ kullanarak Ultralytics YOLOv8 NVIDIA donan─▒m─▒nda h─▒zl─▒ ve verimli ├ž─▒kar─▒m i├žin modeller. Bu k─▒lavuz size d├Ân├╝┼čt├╝rme i┼člemi i├žin izlemesi kolay ad─▒mlar sunacak ve derin ├Â─črenme projelerinizde NVIDIA'n─▒n geli┼čmi┼č teknolojisinden en iyi ┼čekilde yararlanman─▒za yard─▒mc─▒ olacakt─▒r.

TensorRT

TensorRT Genel Bak─▒┼č

TensorRT, developed by NVIDIA, is an advanced software development kit (SDK) designed for high-speed deep learning inference. It's well-suited for real-time applications like object detection.

Bu ara├ž seti, derin ├Â─črenme modellerini NVIDIA GPU'lar i├žin optimize eder ve daha h─▒zl─▒ ve daha verimli i┼člemlerle sonu├žlan─▒r. TensorRT modelleri, katman f├╝zyonu, hassas kalibrasyon (INT8 ve FP16), dinamik tensor bellek y├Ânetimi ve ├žekirdek otomatik ayarlama gibi teknikleri i├žeren TensorRT optimizasyonundan ge├žer. Derin ├Â─črenme modellerinin TensorRT format─▒na d├Ân├╝┼čt├╝r├╝lmesi, geli┼čtiricilerin NVIDIA GPU'lar─▒n potansiyelinden tam olarak yararlanmas─▒n─▒ sa─člar.

TensorRT TensorFlow, ve dahil olmak ├╝zere ├že┼čitli model formatlar─▒yla uyumlulu─ču ile bilinir ve geli┼čtiricilere farkl─▒ ├žer├ževelerden modelleri entegre etmek ve optimize etmek i├žin esnek bir ├ž├Âz├╝m sunar. Bu ├žok y├Ânl├╝l├╝k, ├že┼čitli donan─▒m ve yaz─▒l─▒m ortamlar─▒nda verimli model da─č─▒t─▒m─▒ sa─člar. PyTorch ONNX

TensorRT Modellerinin Temel ├ľzellikleri

TensorRT modelleri, y├╝ksek h─▒zl─▒ derin ├Â─črenme ├ž─▒kar─▒m─▒nda verimliliklerine ve etkinliklerine katk─▒da bulunan bir dizi temel ├Âzellik sunar:

  • Hassas Kalibrasyon: TensorRT hassas kalibrasyonu destekleyerek modellerin belirli do─čruluk gereksinimleri i├žin hassas bir ┼čekilde ayarlanmas─▒n─▒ sa─člar. Bu, kabul edilebilir do─čruluk seviyelerini korurken ├ž─▒kar─▒m h─▒z─▒n─▒ daha da art─▒rabilen INT8 ve FP16 gibi azalt─▒lm─▒┼č hassasiyet formatlar─▒ i├žin destek i├žerir.

  • Katman F├╝zyonu: TensorRT optimizasyon s├╝reci, bir sinir a─č─▒n─▒n birden fazla katman─▒n─▒n tek bir i┼člemde birle┼čtirildi─či katman f├╝zyonunu i├žerir. Bu, bellek eri┼čimini ve hesaplamay─▒ en aza indirerek hesaplama y├╝k├╝n├╝ azalt─▒r ve ├ž─▒kar─▒m h─▒z─▒n─▒ art─▒r─▒r.

TensorRT Katman F├╝zyonu

  • Dinamik Tensor Bellek Y├Ânetimi: TensorRT , ├ž─▒kar─▒m s─▒ras─▒nda tensor bellek kullan─▒m─▒n─▒ verimli bir ┼čekilde y├Âneterek bellek ek y├╝k├╝n├╝ azalt─▒r ve bellek tahsisini optimize eder. Bu da GPU belle─činin daha verimli kullan─▒lmas─▒n─▒ sa─člar.

  • Otomatik ├çekirdek Ayarlama: TensorRT , modelin her katman─▒ i├žin en optimize GPU ├žekirde─čini se├žmek ├╝zere otomatik ├žekirdek ayarlama uygular. Bu uyarlanabilir yakla┼č─▒m, modelin GPU'nun hesaplama g├╝c├╝nden tam olarak yararlanmas─▒n─▒ sa─člar.

Da─č─▒t─▒m Se├ženekleri TensorRT

Before we look at the code for exporting YOLOv8 models to the TensorRT format, let's understand where TensorRT models are normally used.

TensorRT ├že┼čitli da─č─▒t─▒m se├ženekleri sunar ve her se├ženek entegrasyon kolayl─▒─č─▒, performans optimizasyonu ve esnekli─či farkl─▒ ┼čekilde dengeler:

  • TensorFlow i├žinde da─č─▒tma: Bu y├Ântem TensorRT 'u TensorFlow i├žine entegre ederek optimize edilmi┼č modellerin tan─▒d─▒k bir TensorFlow ortam─▒nda ├žal─▒┼čmas─▒n─▒ sa─člar. Desteklenen ve desteklenmeyen katmanlar─▒n bir kar─▒┼č─▒m─▒na sahip modeller i├žin kullan─▒┼čl─▒d─▒r, ├ž├╝nk├╝ TF-TRT bunlar─▒ verimli bir ┼čekilde i┼čleyebilir.

TensorRT Genel Bak─▒┼č

  • Ba─č─▒ms─▒z TensorRT Runtime API: Gran├╝ler kontrol sunar, performans a├ž─▒s─▒ndan kritik uygulamalar i├žin idealdir. Daha karma┼č─▒kt─▒r ancak desteklenmeyen operat├Ârlerin ├Âzel olarak uygulanmas─▒na izin verir.

  • NVIDIA Triton ├ç─▒kar─▒m Sunucusu: ├çe┼čitli ├žer├ževelerden modelleri destekleyen bir se├ženek. ├ľzellikle bulut veya u├ž ├ž─▒kar─▒m─▒ i├žin uygun olan bu se├ženek, e┼č zamanl─▒ model y├╝r├╝tme ve model analizi gibi ├Âzellikler sa─člar.

YOLOv8 Modellerini D─▒┼ča Aktarma TensorRT

YOLOv8 modellerini TensorRT format─▒na d├Ân├╝┼čt├╝rerek y├╝r├╝tme verimlili─čini art─▒rabilir ve performans─▒ optimize edebilirsiniz.

Kurulum

Gerekli paketi y├╝klemek i├žin ├žal─▒┼čt─▒r─▒n:

Kurulum

# Install the required package for YOLOv8
pip install ultralytics

Kurulum s├╝reciyle ilgili ayr─▒nt─▒l─▒ talimatlar ve en iyi uygulamalar i├žin YOLOv8 Kurulum k─▒lavuzumuza g├Âz at─▒n. YOLOv8 i├žin gerekli paketleri y├╝klerken herhangi bir zorlukla kar┼č─▒la┼č─▒rsan─▒z, ├ž├Âz├╝mler ve ipu├žlar─▒ i├žin Ortak Sorunlar k─▒lavuz umuza ba┼čvurun.

Kullan─▒m

Kullan─▒m talimatlar─▒na ge├žmeden ├Ânce, Ultralytics taraf─▒ndan sunulanYOLOv8 model yelpazesine g├Âz att─▒─č─▒n─▒zdan emin olun. Bu, proje gereksinimleriniz i├žin en uygun modeli se├žmenize yard─▒mc─▒ olacakt─▒r.

Kullan─▒m

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TensorRT format
model.export(format="engine")  # creates 'yolov8n.engine'

# Load the exported TensorRT model
tensorrt_model = YOLO("yolov8n.engine")

# Run inference
results = tensorrt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TensorRT format
yolo export model=yolov8n.pt format=engine  # creates 'yolov8n.engine''

# Run inference with the exported model
yolo predict model=yolov8n.engine source='https://ultralytics.com/images/bus.jpg'

D─▒┼ča aktarma i┼člemi hakk─▒nda daha fazla bilgi i├žin, d─▒┼ča aktarma ile ilgiliUltralytics dok├╝mantasyon sayfas─▒n─▒ ziyaret edin.

INT8 Niceleme ile TensorRT D─▒┼ča Aktarma

Ultralytics YOLO modellerinin TensorRT kullan─▒larak INT8 hassasiyetiyle d─▒┼ča aktar─▒lmas─▒, e─čitim sonras─▒ niceleme (PTQ) i┼člemini y├╝r├╝t├╝r. TensorRT , YOLO modeli temsili girdi verileri ├╝zerinde ├ž─▒kar─▒m yaparken her bir tensor aktivasyonu i├žindeki aktivasyonlar─▒n da─č─▒l─▒m─▒n─▒ ├Âl├žen ve ard─▒ndan bu da─č─▒l─▒m─▒ her bir tensor i├žin ├Âl├žek de─čerlerini tahmin etmek i├žin kullanan PTQ i├žin kalibrasyon kullan─▒r. Niceleme i├žin aday olan her aktivasyon tensor bir kalibrasyon s├╝reci ile ├ž─▒kar─▒lan ili┼čkili bir ├Âl├že─če sahiptir.

├ľrt├╝k olarak nicelenmi┼č a─člar─▒ i┼člerken TensorRT katman y├╝r├╝tme s├╝resini optimize etmek i├žin f─▒rsat├ž─▒ bir ┼čekilde INT8 kullan─▒r. Bir katman INT8'de daha h─▒zl─▒ ├žal─▒┼č─▒yorsa ve veri giri┼čleri ve ├ž─▒k─▒┼člar─▒ ├╝zerinde atanm─▒┼č niceleme ├Âl├žekleri varsa, o katmana INT8 hassasiyetine sahip bir ├žekirdek atan─▒r, aksi takdirde TensorRT , ├žekirdek i├žin FP32 veya FP16 hassasiyetinden hangisinin o katman i├žin daha h─▒zl─▒ y├╝r├╝tme s├╝resiyle sonu├žland─▒─č─▒na ba─čl─▒ olarak bir hassasiyet se├žer.

─░pucu

Kalibrasyon sonu├žlar─▒ cihazlar aras─▒nda farkl─▒l─▒k g├Âsterebilece─činden, da─č─▒t─▒m i├žin TensorRT model a─č─▒rl─▒klar─▒n─▒ kullanacak olan ayn─▒ cihaz─▒n INT8 hassasiyetiyle d─▒┼ča aktarma i├žin kullan─▒ld─▒─č─▒ndan emin olmak ├žok ├Ânemlidir.

INT8 D─▒┼ča Aktarmay─▒ Yap─▒land─▒rma

Kullan─▒rken sa─članan arg├╝manlar ihracat bir Ultralytics YOLO modeli i├žin b├╝y├╝k ├Âl├ž├╝de d─▒┼ča aktar─▒lan modelin performans─▒n─▒ etkiler. Bunlar─▒n ayr─▒ca mevcut cihaz kaynaklar─▒na g├Âre se├žilmesi gerekecektir, ancak varsay─▒lan arg├╝manlar gerekir ├žo─ču i├žin ├žal─▒┼čmak Amper (veya daha yeni) NVIDIA ayr─▒k GPU'lar. Kullan─▒lan kalibrasyon algoritmas─▒ "ENTROPY_CALIBRATION_2" ve mevcut se├ženekler hakk─▒nda daha fazla ayr─▒nt─▒ okuyabilirsiniz TensorRT Geli┼čtirici K─▒lavuzu'nda. Ultralytics testleri ┼čunu bulmu┼čtur "ENTROPY_CALIBRATION_2" en iyi se├žimdir ve ihracat bu algoritmay─▒ kullanmaya sabitlenmi┼čtir.

  • workspace : Model a─č─▒rl─▒klar─▒n─▒ d├Ân├╝┼čt├╝r├╝rken cihaz bellek tahsisinin boyutunu (GiB cinsinden) kontrol eder.

    • Ayarlamak workspace de─čerini kalibrasyon ihtiya├žlar─▒n─▒za ve kaynak kullan─▒labilirli─činize g├Âre belirleyin. Daha b├╝y├╝k bir workspace kalibrasyon s├╝resini art─▒rabilir, ancak TensorRT 'un daha geni┼č bir optimizasyon taktikleri yelpazesini ke┼čfetmesine olanak tan─▒yarak potansiyel olarak model performans─▒n─▒ ve do─črulu─čunu art─▒r─▒r. Tersine, daha k├╝├ž├╝k bir workspace kalibrasyon s├╝resini k─▒saltabilir ancak optimizasyon stratejilerini s─▒n─▒rland─▒rarak kuantize modelin kalitesini etkileyebilir.

    • Varsay─▒lan de─čer workspace=4 (GiB), kalibrasyon ├ž├Âkerse (uyar─▒ vermeden ├ž─▒karsa) bu de─čerin art─▒r─▒lmas─▒ gerekebilir.

    • TensorRT rapor edecek UNSUPPORTED_STATE i├žin de─čer varsa d─▒┼ča aktarma s─▒ras─▒nda workspace de─čerinin cihaz i├žin kullan─▒labilir bellekten daha b├╝y├╝k oldu─ču anlam─▒na gelir. workspace d├╝┼č├╝r├╝lmelidir.

    • E─čer workspace maksimum de─čere ayarland─▒─č─▒nda ve kalibrasyon ba┼čar─▒s─▒z oldu─čunda/├ž├Âkt├╝─č├╝nde, a┼ča─č─▒daki de─čerleri azaltmay─▒ d├╝┼č├╝n├╝n imgsz ve batch bellek gereksinimlerini azaltmak i├žin.

    • INT8 i├žin kalibrasyonun her cihaza ├Âzg├╝ oldu─čunuunutmay─▒n, kalibrasyon i├žin "├╝st d├╝zey" bir GPU ├Âd├╝n├ž almak, ├ž─▒kar─▒m ba┼čka bir cihazda ├žal─▒┼čt─▒r─▒ld─▒─č─▒nda d├╝┼č├╝k performansa neden olabilir.

  • batch : ├ç─▒kar─▒m i├žin kullan─▒lacak maksimum y─▒─č─▒n boyutu. ├ç─▒kar─▒m s─▒ras─▒nda daha k├╝├ž├╝k gruplar kullan─▒labilir, ancak ├ž─▒kar─▒m belirtilenden daha b├╝y├╝k gruplar─▒ kabul etmeyecektir.

Not

Kalibrasyon s─▒ras─▒nda, iki kez batch sa─članan boyut kullan─▒lacakt─▒r. K├╝├ž├╝k partilerin kullan─▒lmas─▒ kalibrasyon s─▒ras─▒nda yanl─▒┼č ├Âl├žeklendirmeye yol a├žabilir. Bunun nedeni s├╝recin g├Ârd├╝─č├╝ verilere g├Âre ayarlama yapmas─▒d─▒r. K├╝├ž├╝k partiler t├╝m de─čer aral─▒─č─▒n─▒ yakalayamayabilir, bu da nihai kalibrasyonda sorunlara yol a├žabilir, bu nedenle batch boyutu otomatik olarak iki kat─▒na ├ž─▒kar─▒l─▒r. Toplu i┼č boyutu belirtilmezse batch=1'de kalibrasyon ├žal─▒┼čt─▒r─▒lacakt─▒r. batch=1 * 2 kalibrasyon ├Âl├žekleme hatalar─▒n─▒ azaltmak i├žin.

NVIDIA taraf─▒ndan yap─▒lan deneyler, INT8 niceleme kalibrasyonu ile modeliniz i├žin verileri temsil eden en az 500 kalibrasyon g├Âr├╝nt├╝s├╝ kullan─▒lmas─▒n─▒ ├Ânermelerine yol a├žm─▒┼čt─▒r. Bu bir k─▒lavuzdur ve bir sert gereklili─či ve veri k├╝meniz i├žin iyi performans g├Âstermesi i├žin neyin gerekli oldu─čunu denemeniz gerekecektir. INT8 kalibrasyonu i├žin TensorRT adresinde kalibrasyon verileri gerekti─činden, bu verileri kulland─▒─č─▒n─▒zdan emin olun. data arg├╝man─▒ ne zaman int8=True TensorRT ve kullan─▒m i├žin data="my_dataset.yaml"'deki g├Âr├╝nt├╝leri kullanacak olan do─črulama ile kalibre etmek i├žin. i├žin herhangi bir de─čer ge├žilmedi─činde data INT8 niceleme ile TensorRT adresine aktar─▒ld─▒─č─▒nda, varsay─▒lan olarak model g├Ârevine dayal─▒ "k├╝├ž├╝k" ├Ârnek veri k├╝meleri hata vermek yerine.

├ľrnek

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(
    format="engine",
    dynamic=True,  # (1)!
    batch=8,  # (2)!
    workspace=4,  # (3)!
    int8=True,
    data="coco.yaml",  # (4)!
)

# Load the exported TensorRT INT8 model
model = YOLO("yolov8n.engine", task="detect")

# Run inference
result = model.predict("https://ultralytics.com/images/bus.jpg")
  1. Dinamik eksenlerle d─▒┼ča aktarma yaparken bu ├Âzellik varsay─▒lan olarak etkinle┼čtirilecektir. int8=True a├ž─▒k├ža ayarlanmam─▒┼č olsa bile. Bkz. d─▒┼ča aktarma arg├╝manlar─▒ ek bilgi i├žin.
  2. ile kalibre eden d─▒┼ča aktar─▒lan model i├žin maksimum parti boyutunu 8 olarak ayarlar. batch = 2 * 8 kalibrasyon s─▒ras─▒nda ├Âl├žekleme hatalar─▒n─▒ ├Ânlemek i├žin.
  3. D├Ân├╝┼čt├╝rme i┼člemi i├žin t├╝m ayg─▒t─▒ ay─▒rmak yerine 4 GiB bellek ay─▒r─▒r.
  4. Kalibrasyon i├žin COCO veri setini, ├Âzellikle de do─črulama i├žin kullan─▒lan g├Âr├╝nt├╝leri (toplam 5.000) kullan─▒r.
# Export a YOLOv8n PyTorch model to TensorRT format with INT8 quantization
yolo export model=yolov8n.pt format=engine batch=8 workspace=4 int8=True data=coco.yaml  # creates 'yolov8n.engine''

# Run inference with the exported TensorRT quantized model
yolo predict model=yolov8n.engine source='https://ultralytics.com/images/bus.jpg'
Kalibrasyon ├ľnbelle─či

TensorRT bir kalibrasyon olu┼čturacakt─▒r .cache Ayn─▒ verileri kullanarak gelecekteki model a─č─▒rl─▒klar─▒n─▒n d─▒┼ča aktar─▒m─▒n─▒ h─▒zland─▒rmak i├žin yeniden kullan─▒labilir, ancak bu, veriler ├žok farkl─▒ oldu─čunda veya batch de─čeri b├╝y├╝k ├Âl├ž├╝de de─či┼čtirilir. Bu durumlarda, mevcut .cache yeniden adland─▒r─▒lmal─▒ ve farkl─▒ bir dizine ta┼č─▒nmal─▒ veya tamamen silinmelidir.

YOLO ile TensorRT INT8 kullanman─▒n avantajlar─▒

  • Azalt─▒lm─▒┼č model boyutu: FP32'den INT8'e kuantizasyon, model boyutunu 4 kat azaltabilir (diskte veya bellekte), bu da daha h─▒zl─▒ indirme s├╝relerine yol a├žar. daha d├╝┼č├╝k depolama gereksinimleri ve bir modeli da─č─▒t─▒rken daha az bellek ayak izi.

  • Daha d├╝┼č├╝k g├╝├ž t├╝ketimi: INT8 d─▒┼ča aktar─▒lan YOLO modelleri i├žin azalt─▒lm─▒┼č hassasiyet i┼člemleri, ├Âzellikle pille ├žal─▒┼čan cihazlar i├žin FP32 modellerine k─▒yasla daha az g├╝├ž t├╝ketebilir.

  • Geli┼čtirilmi┼č ├ž─▒kar─▒m h─▒zlar─▒: TensorRT , modeli hedef donan─▒m i├žin optimize ederek GPU'larda, g├Âm├╝l├╝ cihazlarda ve h─▒zland─▒r─▒c─▒larda potansiyel olarak daha y├╝ksek ├ž─▒kar─▒m h─▒zlar─▒na yol a├žar.

Çıkarım Hızları Hakkında Not

TensorRT INT8 adresine aktar─▒lan bir modelle yap─▒lan ilk birka├ž ├ž─▒kar─▒m ├ža─čr─▒s─▒n─▒n normalden daha uzun ├Ân i┼čleme, ├ž─▒kar─▒m ve/veya son i┼čleme s├╝relerine sahip olmas─▒ beklenebilir. Bu durum ayr─▒ca ┼ču de─či┼čikliklerde de ortaya ├ž─▒kabilir imgsz ├ž─▒kar─▒m s─▒ras─▒nda, ├Âzellikle imgsz d─▒┼ča aktarma s─▒ras─▒nda belirtilenle ayn─▒ de─čildir (d─▒┼ča aktarma imgsz TensorRT "optimal" profil olarak ayarlanm─▒┼čt─▒r).

YOLO ile TensorRT INT8 kullanman─▒n dezavantajlar─▒

  • De─čerlendirme ├Âl├ž├╝tlerinde d├╝┼č├╝┼čler: Daha d├╝┼č├╝k bir hassasiyet kullanmak ┼ču anlama gelecektir mAP, Precision, Recall veya herhangi bir model performans─▒n─▒ de─čerlendirmek i├žin kullan─▒lan di─čer metrik biraz daha k├Ât├╝ olmas─▒ muhtemeldir. Bak─▒n─▒z Performans sonu├žlar─▒ b├Âl├╝m├╝ farkl─▒l─▒klar─▒ kar┼č─▒la┼čt─▒rmak i├žin mAP50 ve mAP50-95 ├že┼čitli cihazlar─▒n k├╝├ž├╝k bir ├Ârne─činde INT8 ile d─▒┼ča aktar─▒rken.

  • Artan geli┼čtirme s├╝releri: INT8 kalibrasyonu i├žin veri seti ve cihaza y├Ânelik "en uygun" ayarlar─▒ bulmak ├Ânemli miktarda test gerektirebilir.

  • Hardware dependency: Calibration and performance gains could be highly hardware dependent and model weights are less transferable.

Ultralytics YOLO TensorRT ─░hracat Performans─▒

NVIDIA A100

Performans

Ubuntu 22.04.3 LTS ile test edilmi┼čtir, python 3.10.12, ultralytics==8.2.4, tensorrt==8.6.1.post1

├ľnceden e─čitilmi┼č 80 s─▒n─▒f i├žeren COCO ├╝zerinde e─čitilen bu modellerle kullan─▒m ├Ârnekleri i├žin Alg─▒lama Dok├╝manlar─▒ 'na bak─▒n.

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
batch boyut
(piksel)
FP32 Tahmin Et 0.52 0.51 | 0.56 8 640
FP32 COCOval 0.52 0.52 0.37 1 640
FP16 Tahmin Et 0.34 0.34 | 0.41 8 640
FP16 COCOval 0.33 0.52 0.37 1 640
INT8 Tahmin Et 0.28 0.27 | 0.31 8 640
INT8 COCOval 0.29 0.47 0.33 1 640

├ľnceden e─čitilmi┼č 80 s─▒n─▒f i├žeren COCO ├╝zerinde e─čitilen bu modellerle kullan─▒m ├Ârnekleri i├žin Segmentasyon Dok├╝manlar─▒ 'na bak─▒n.

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n-seg.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
mAPval
50(M)
mAPval
50-95(M)
batch boyut
(piksel)
FP32 Tahmin Et 0.62 0.61 | 0.68 8 640
FP32 COCOval 0.63 0.52 0.36 0.49 0.31 1 640
FP16 Tahmin Et 0.40 0.39 | 0.44 8 640
FP16 COCOval 0.43 0.52 0.36 0.49 0.30 1 640
INT8 Tahmin Et 0.34 0.33 | 0.37 8 640
INT8 COCOval 0.36 0.46 0.32 0.43 0.27 1 640

├ľnceden e─čitilmi┼č 1000 s─▒n─▒f i├žeren ImageNet ├╝zerinde e─čitilen bu modellerle kullan─▒m ├Ârnekleri i├žin Classification Docs b├Âl├╝m├╝ne bak─▒n.

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n-cls.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
├╝st-1 ilk 5 batch boyut
(piksel)
FP32 Tahmin Et 0.26 0.25 | 0.28 8 640
FP32 ImageNetval 0.26 0.35 0.61 1 640
FP16 Tahmin Et 0.18 0.17 | 0.19 8 640
FP16 ImageNetval 0.18 0.35 0.61 1 640
INT8 Tahmin Et 0.16 0.15 | 0.57 8 640
INT8 ImageNetval 0.15 0.32 0.59 1 640

├ľnceden e─čitilmi┼č 1 s─▒n─▒f olan "ki┼či" i├žeren COCO ├╝zerinde e─čitilmi┼č bu modellerle kullan─▒m ├Ârnekleri i├žin Poz Tahmini Dok├╝manlar─▒na bak─▒n.

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n-pose.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
mAPval
50(P)
mAPval
50-95(P)
batch boyut
(piksel)
FP32 Tahmin Et 0.54 0.53 | 0.58 8 640
FP32 COCOval 0.55 0.91 0.69 0.80 0.51 1 640
FP16 Tahmin Et 0.37 0.35 | 0.41 8 640
FP16 COCOval 0.36 0.91 0.69 0.80 0.51 1 640
INT8 Tahmin Et 0.29 0.28 | 0.33 8 640
INT8 COCOval 0.30 0.90 0.68 0.78 0.47 1 640

├ľnceden e─čitilmi┼č 15 s─▒n─▒f i├žeren DOTAv1 ├╝zerinde e─čitilen bu modellerle kullan─▒m ├Ârnekleri i├žin Y├Ânlendirilmi┼č Alg─▒lama Dok├╝manlar─▒ 'na bak─▒n.

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n-obb.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
batch boyut
(piksel)
FP32 Tahmin Et 0.52 0.51 | 0.59 8 640
FP32 DOTAv1val 0.76 0.50 0.36 1 640
FP16 Tahmin Et 0.34 0.33 | 0.42 8 640
FP16 DOTAv1val 0.59 0.50 0.36 1 640
INT8 Tahmin Et 0.29 0.28 | 0.33 8 640
INT8 DOTAv1val 0.32 0.45 0.32 1 640

T├╝ketici GPU'lar─▒

Alg─▒lama Performans─▒ (COCO)

Windows 10.0.19045 ile test edilmi┼čtir, python 3.10.9, ultralytics==8.2.4, tensorrt==10.0.0b6

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
batch boyut
(piksel)
FP32 Tahmin Et 1.06 0.75 | 1.88 8 640
FP32 COCOval 1.37 0.52 0.37 1 640
FP16 Tahmin Et 0.62 0.75 | 1.13 8 640
FP16 COCOval 0.85 0.52 0.37 1 640
INT8 Tahmin Et 0.52 0.38 | 1.00 8 640
INT8 COCOval 0.74 0.47 0.33 1 640

Windows 10.0.22631 ile test edilmi┼čtir, python 3.11.9, ultralytics==8.2.4, tensorrt==10.0.1

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
batch boyut
(piksel)
FP32 Tahmin Et 1.76 1.69 | 1.87 8 640
FP32 COCOval 1.94 0.52 0.37 1 640
FP16 Tahmin Et 0.86 0.75 | 1.00 8 640
FP16 COCOval 1.43 0.52 0.37 1 640
INT8 Tahmin Et 0.80 0.75 | 1.00 8 640
INT8 COCOval 1.35 0.47 0.33 1 640

Pop!_OS 22.04 LTS ile test edilmi┼čtir, python 3.10.12, ultralytics==8.2.4, tensorrt==8.6.1.post1

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
batch boyut
(piksel)
FP32 Tahmin Et 2.84 2.84 | 2.85 8 640
FP32 COCOval 2.94 0.52 0.37 1 640
FP16 Tahmin Et 1.09 1.09 | 1.10 8 640
FP16 COCOval 1.20 0.52 0.37 1 640
INT8 Tahmin Et 0.75 0.74 | 0.75 8 640
INT8 COCOval 0.76 0.47 0.33 1 640

G├Âm├╝l├╝ Cihazlar

Alg─▒lama Performans─▒ (COCO)

JetPack 6.0 (L4T 36.3) Ubuntu 22.04.4 LTS ile test edilmi┼čtir, python 3.10.12, ultralytics==8.2.16, tensorrt==10.0.1

Not

├ç─▒kar─▒m s├╝releri ┼čunlar i├žin g├Âsterilmi┼čtir mean, min (en h─▒zl─▒) ve max (en yava┼č) ├Ânceden e─čitilmi┼č a─č─▒rl─▒klar─▒ kullanarak her test i├žin yolov8n.engine

Hassasiyet De─čerlendirme testi ortalama
(ms)
min | maks
(ms)
mAPval
50(B)
mAPval
50-95(B)
batch boyut
(piksel)
FP32 Tahmin Et 6.11 6.10 | 6.29 8 640
FP32 COCOval 6.17 0.52 0.37 1 640
FP16 Tahmin Et 3.18 3.18 | 3.20 8 640
FP16 COCOval 3.19 0.52 0.37 1 640
INT8 Tahmin Et 2.30 2.29 | 2.35 8 640
INT8 COCOval 2.32 0.46 0.32 1 640

Bilgi

Kurulum ve yap─▒land─▒rma hakk─▒nda daha fazla bilgi edinmek i├žin Ultralytics YOLO adresindeki NVIDIA Jetson ile ilgili h─▒zl─▒ ba┼člang─▒├ž k─▒lavuzumuza bak─▒n.

De─čerlendirme y├Ântemleri

Bu modellerin nas─▒l d─▒┼ča aktar─▒ld─▒─č─▒ ve test edildi─či hakk─▒nda bilgi i├žin a┼ča─č─▒daki b├Âl├╝mleri geni┼čletin.

Konfig├╝rasyonlar─▒ d─▒┼ča aktarma

D─▒┼ča aktarma yap─▒land─▒rma arg├╝manlar─▒yla ilgili ayr─▒nt─▒lar i├žin bkz.

from ultralytics import YOLO

model = YOLO("yolov8n.pt")

# TensorRT FP32
out = model.export(format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2)

# TensorRT FP16
out = model.export(format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2, half=True)

# TensorRT INT8 with calibration `data` (i.e. COCO, ImageNet, or DOTAv1 for appropriate model task)
out = model.export(
    format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2, int8=True, data="coco8.yaml"
)
D├Âng├╝y├╝ tahmin et

Ek bilgi i├žin tahmin moduna bak─▒n.

import cv2

from ultralytics import YOLO

model = YOLO("yolov8n.engine")
img = cv2.imread("path/to/image.jpg")

for _ in range(100):
    result = model.predict(
        [img] * 8,  # batch=8 of the same image
        verbose=False,
        device="cuda",
    )
Do─črulama yap─▒land─▒rmas─▒

Bkz. val modu do─črulama yap─▒land─▒rma arg├╝manlar─▒ hakk─▒nda daha fazla bilgi edinmek i├žin.

from ultralytics import YOLO

model = YOLO("yolov8n.engine")
results = model.val(
    data="data.yaml",  # COCO, ImageNet, or DOTAv1 for appropriate model task
    batch=1,
    imgsz=640,
    verbose=False,
    device="cuda",
)

D─▒┼ča Aktar─▒lan YOLOv8 TensorRT Modellerini Da─č─▒tma

Ultralytics YOLOv8 modellerinizi TensorRT bi├žimine ba┼čar─▒yla aktard─▒ktan sonra art─▒k bunlar─▒ da─č─▒tmaya haz─▒rs─▒n─▒z. TensorRT modellerinizi ├že┼čitli ortamlarda da─č─▒tmaya ili┼čkin ayr─▒nt─▒l─▒ talimatlar i├žin a┼ča─č─▒daki kaynaklara g├Âz at─▒n:

├ľzet

Bu k─▒lavuzda, Ultralytics YOLOv8 modellerini NVIDIA'n─▒n TensorRT model bi├žimine d├Ân├╝┼čt├╝rmeye odakland─▒k. Bu d├Ân├╝┼čt├╝rme ad─▒m─▒, YOLOv8 modellerinin verimlili─čini ve h─▒z─▒n─▒ art─▒rarak onlar─▒ daha etkili ve ├že┼čitli da─č─▒t─▒m ortamlar─▒na uygun hale getirmek i├žin ├žok ├Ânemlidir.

Kullan─▒m detaylar─▒ hakk─▒nda daha fazla bilgi i├žin TensorRT resmi belgelerine g├Âz at─▒n.

Ek Ultralytics YOLOv8 entegrasyonlar─▒ hakk─▒nda merak ettikleriniz varsa, entegrasyon k─▒lavuzu sayfam─▒zda kapsaml─▒ bir bilgilendirici kaynak ve i├žg├Âr├╝ se├žkisi bulunmaktad─▒r.



Created 2024-01-28, Updated 2024-06-20
Authors: ambitious-octopus (1), lakshanthad (1), glenn-jocher (8), IvorZhu331 (1), Burhan-Q (2), abirami-vina (1)

Yorumlar