─░├žeri─če ge├ž

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

Often, when deploying computer vision models, you'll need a model format that's both flexible and compatible with multiple platforms.

─░hracat Ultralytics YOLOv8 modellerini ONNX bi├žimine d├Ân├╝┼čt├╝rmek da─č─▒t─▒m─▒ kolayla┼čt─▒r─▒r ve ├že┼čitli ortamlarda optimum performans sa─člar. Bu k─▒lavuz size YOLOv8 modellerinizi nas─▒l kolayca ONNX format─▒na d├Ân├╝┼čt├╝rebilece─činizi ve ger├žek d├╝nya uygulamalar─▒nda ├Âl├žeklenebilirliklerini ve etkinliklerini nas─▒l art─▒rabilece─činizi g├Âsterecektir.

ONNX ve ONNX ├çal─▒┼čma Zaman─▒

ONNXA├ž─▒l─▒m─▒ Open Neural Network Exchange olan , Facebook ve Microsoft'un ba┼člang─▒├žta geli┼čtirdi─či bir topluluk projesidir. ONNX 'un devam eden geli┼čimi IBM, Amazon (AWS arac─▒l─▒─č─▒yla) ve Google gibi ├že┼čitli kurulu┼člar taraf─▒ndan desteklenen ortak bir ├žabad─▒r. Proje, makine ├Â─črenimi modellerini farkl─▒ yapay zeka ├žer├ževeleri ve donan─▒mlar─▒ aras─▒nda kullan─▒lmalar─▒na izin verecek ┼čekilde temsil etmek ├╝zere tasarlanm─▒┼č a├ž─▒k bir dosya format─▒ olu┼čturmay─▒ ama├žlamaktad─▒r.

ONNX modeller farkl─▒ ├žer├ževeler aras─▒nda sorunsuz bir ┼čekilde ge├ži┼č yapmak i├žin kullan─▒labilir. ├ľrne─čin, PyTorch adresinde e─čitilen bir derin ├Â─črenme modeli ONNX format─▒na aktar─▒labilir ve ard─▒ndan kolayca TensorFlow adresine aktar─▒labilir.

ONNX

Alternatif olarak, ONNX modelleri ONNX Runtime ile kullan─▒labilir. ONNX Runtime, PyTorch, TensorFlow, TFLite, scikit-learn, vb. gibi ├žer├ževelerle uyumlu makine ├Â─črenimi modelleri i├žin ├žok y├Ânl├╝ bir ├žapraz platform h─▒zland─▒r─▒c─▒d─▒r.

ONNX Runtime, donan─▒ma ├Âzg├╝ yeteneklerden yararlanarak ONNX modellerinin y├╝r├╝t├╝lmesini optimize eder. Bu optimizasyon, modellerin CPU'lar, GPU'lar ve ├Âzel h─▒zland─▒r─▒c─▒lar dahil olmak ├╝zere ├že┼čitli donan─▒m platformlar─▒nda verimli ve y├╝ksek performansla ├žal─▒┼čmas─▒n─▒ sa─člar.

ONNX  ONNX Runtime ile

─░ster ba─č─▒ms─▒z olarak ister ONNX Runtime ile birlikte kullan─▒ls─▒n, ONNX makine ├Â─črenimi modeli da─č─▒t─▒m─▒ ve uyumlulu─ču i├žin esnek bir ├ž├Âz├╝m sunar.

ONNX Modellerinin Temel ├ľzellikleri

ONNX 'un ├že┼čitli formatlar─▒ i┼čleme yetene─či a┼ča─č─▒daki temel ├Âzelliklere ba─članabilir:

  • Ortak Model G├Âsterimi: ONNX ortak bir dizi operat├Âr (konvol├╝syonlar, katmanlar vb.) ve standart bir veri format─▒ tan─▒mlar. Bir model ONNX format─▒na d├Ân├╝┼čt├╝r├╝ld├╝─č├╝nde, mimarisi ve a─č─▒rl─▒klar─▒ bu ortak g├Âsterime ├ževrilir. Bu tekd├╝zelik, modelin ONNX destekleyen herhangi bir ├žer├ževe taraf─▒ndan anla┼č─▒labilmesini sa─člar.

  • Versiyonlama ve Geriye D├Ân├╝k Uyumluluk: ONNX , operat├Ârleri i├žin bir versiyonlama sistemi s├╝rd├╝rmektedir. Bu, standart geli┼čtik├že bile eski s├╝r├╝mlerde olu┼čturulan modellerin kullan─▒labilir kalmas─▒n─▒ sa─člar. Geriye d├Ân├╝k uyumluluk, modellerin h─▒zla eskimesini ├Ânleyen ├žok ├Ânemli bir ├Âzelliktir.

  • Grafik Tabanl─▒ Model G├Âsterimi: ONNX modelleri hesaplama grafikleri olarak temsil eder. Bu grafik tabanl─▒ yap─▒, d├╝─č├╝mlerin i┼člemleri veya hesaplamalar─▒ temsil etti─či ve kenarlar─▒n aralar─▒nda akan tens├Ârleri temsil etti─či makine ├Â─črenimi modellerini temsil etmenin evrensel bir yoludur. Bu format, modelleri grafik olarak da temsil eden ├že┼čitli ├žer├ževelere kolayca uyarlanabilir.

  • Ara├žlar ve Ekosistem: ONNX ├ževresinde model d├Ân├╝┼čt├╝rme, g├Ârselle┼čtirme ve optimizasyona yard─▒mc─▒ olan zengin bir ara├ž ekosistemi bulunmaktad─▒r. Bu ara├žlar, geli┼čtiricilerin ONNX modelleriyle ├žal─▒┼čmas─▒n─▒ ve modelleri farkl─▒ ├žer├ževeler aras─▒nda sorunsuz bir ┼čekilde d├Ân├╝┼čt├╝rmesini kolayla┼čt─▒r─▒r.

Yayg─▒n Kullan─▒m─▒ ONNX

Before we jump into how to export YOLOv8 models to the ONNX format, let's take a look at where ONNX models are usually used.

CPU Da─č─▒t─▒m─▒

ONNX modelleri, ONNX Runtime ile uyumluluklar─▒ nedeniyle genellikle CPU'lara da─č─▒t─▒l─▒r. Bu ├žal─▒┼čma zaman─▒ CPU y├╝r├╝tmesi i├žin optimize edilmi┼čtir. ├ç─▒kar─▒m h─▒z─▒n─▒ ├Ânemli ├Âl├ž├╝de art─▒r─▒r ve ger├žek zamanl─▒ CPU da─č─▒t─▒mlar─▒n─▒ uygulanabilir hale getirir.

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

ONNX modelleri genellikle CPU'larda kullan─▒l─▒rken, a┼ča─č─▒daki platformlarda da kullan─▒labilirler:

  • GPU H─▒zland─▒rma: ONNX , ├Âzellikle NVIDIA CUDA olmak ├╝zere GPU h─▒zland─▒rmay─▒ tamamen destekler. Bu, y├╝ksek hesaplama g├╝c├╝ gerektiren g├Ârevler i├žin NVIDIA GPU'larda verimli y├╝r├╝tme sa─člar.

  • U├ž ve Mobil Cihazlar: ONNX u├ž ve mobil cihazlara kadar uzan─▒r, cihaz ├╝zerinde ve ger├žek zamanl─▒ ├ž─▒kar─▒m senaryolar─▒ i├žin m├╝kemmeldir. Hafiftir ve u├ž donan─▒mla uyumludur.

  • Web Taray─▒c─▒lar─▒: ONNX do─črudan web taray─▒c─▒lar─▒nda ├žal─▒┼čarak etkile┼čimli ve dinamik web tabanl─▒ yapay zeka uygulamalar─▒na g├╝├ž sa─člayabilir.

YOLOv8 Modellerini D─▒┼ča Aktarma ONNX

YOLOv8 modellerini ONNX format─▒na d├Ân├╝┼čt├╝rerek model uyumlulu─čunu ve da─č─▒t─▒m esnekli─čini art─▒rabilirsiniz.

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 ONNX format
model.export(format="onnx")  # creates 'yolov8n.onnx'

# Load the exported ONNX model
onnx_model = YOLO("yolov8n.onnx")

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

# Run inference with the exported model
yolo predict model=yolov8n.onnx 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.

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

Ultralytics YOLOv8 modellerinizi ONNX format─▒na ba┼čar─▒yla aktard─▒ktan sonra, bir sonraki ad─▒m bu modelleri ├že┼čitli ortamlara da─č─▒tmakt─▒r. ONNX modellerinizi da─č─▒tmaya ili┼čkin ayr─▒nt─▒l─▒ talimatlar i├žin a┼ča─č─▒daki kaynaklara g├Âz at─▒n:

├ľzet

Bu k─▒lavuzda, Ultralytics YOLOv8 modellerinin ├že┼čitli platformlarda birlikte ├žal─▒┼čabilirli─čini ve performans─▒n─▒ art─▒rmak i├žin ONNX format─▒na nas─▒l aktar─▒laca─č─▒n─▒ ├Â─črendiniz. Ayr─▒ca ONNX Runtime ve ONNX da─č─▒t─▒m se├ženekleriyle tan─▒┼čt─▒n─▒z.

Kullan─▒m hakk─▒nda daha fazla bilgi i├žin ONNX resmi belgelerini ziyaret edin.

Also, if you'd like to know more about other Ultralytics YOLOv8 integrations, visit our integration guide page. You'll find plenty of useful resources and insights there.



Created 2024-01-25, Updated 2024-06-10
Authors: glenn-jocher (5), abirami-vina (1)

Yorumlar