─░├žeri─če ge├ž

YOLOv8 H─▒zl─▒ Da─č─▒t─▒m i├žin TorchScript adresine Model Aktar─▒m─▒

Bilgisayarla g├Ârme modellerini g├Âm├╝l├╝ sistemler, web taray─▒c─▒lar─▒ veya s─▒n─▒rl─▒ Python deste─čine sahip platformlar dahil olmak ├╝zere farkl─▒ ortamlara da─č─▒tmak esnek ve ta┼č─▒nabilir bir ├ž├Âz├╝m gerektirir. TorchScript ta┼č─▒nabilirli─če ve Python ├žer├ževesinin tamam─▒n─▒n kullan─▒lamad─▒─č─▒ ortamlarda modelleri ├žal─▒┼čt─▒rma yetene─čine odaklan─▒r. Bu, bilgisayarla g├Ârme yeteneklerinizi ├že┼čitli cihazlara veya platformlara da─č─▒tman─▒z gereken senaryolar i├žin idealdir.

Serile┼čtirmek i├žin Torchscript adresine aktar─▒n Ultralytics YOLOv8 platformlar aras─▒ uyumluluk ve kolayla┼čt─▒r─▒lm─▒┼č da─č─▒t─▒m i├žin modeller. Bu k─▒lavuzda, YOLOv8 modellerinizi TorchScript format─▒na nas─▒l aktaraca─č─▒n─▒z─▒ g├Âstererek, bunlar─▒ daha geni┼č bir uygulama yelpazesinde kullanman─▒z─▒ kolayla┼čt─▒raca─č─▒z.

Neden TorchScript adresine ihracat yapmal─▒s─▒n─▒z?

Torchscript Genel Bak─▒┼č

PyTorch'un yarat─▒c─▒lar─▒ taraf─▒ndan geli┼čtirilen TorchScript , PyTorch modellerini ├že┼čitli platformlarda optimize etmek ve da─č─▒tmak i├žin g├╝├žl├╝ bir ara├žt─▒r. YOLOv8 modellerini ┼ču adrese aktarma TorchScript ara┼čt─▒rmadan ger├žek d├╝nya uygulamalar─▒na ge├ži┼č i├žin ├žok ├Ânemlidir. TorchScript PyTorch ├žer├ževesinin bir par├žas─▒ olan Python, PyTorch modellerinin desteklemeyen ortamlarda kullan─▒lmas─▒na izin vererek bu ge├ži┼či daha sorunsuz hale getirmeye yard─▒mc─▒ olur.

S├╝re├ž iki teknik i├žerir: izleme ve komut dosyas─▒ olu┼čturma. ─░zleme, model y├╝r├╝tme s─▒ras─▒ndaki i┼člemleri kaydederken, komut dosyas─▒ olu┼čturma Python adresinin bir alt k├╝mesini kullanarak modellerin tan─▒mlanmas─▒na olanak tan─▒r. Bu teknikler, YOLOv8 gibi modellerin normal Python ortamlar─▒n─▒n d─▒┼č─▒nda bile sihirlerini s├╝rd├╝rebilmelerini sa─člar.

TorchScript Komut Dosyas─▒ ve ─░zleme

TorchScript Modeller ayr─▒ca operat├Âr f├╝zyonu ve bellek kullan─▒m─▒ndaki iyile┼čtirmeler gibi tekniklerle optimize edilebilir ve verimli y├╝r├╝tme sa─članabilir. TorchScript adresine d─▒┼ča aktarman─▒n bir di─čer avantaj─▒ da ├že┼čitli donan─▒m platformlar─▒nda model y├╝r├╝tmeyi h─▒zland─▒rma potansiyelidir. Bu, PyTorch modelinizin C++ ortamlar─▒na, g├Âm├╝l├╝ sistemlere entegre edilebilen veya web ya da mobil uygulamalara yerle┼čtirilebilen ba─č─▒ms─▒z, ├╝retime haz─▒r bir temsilini olu┼čturur.

TorchScript Modellerinin Temel ├ľzellikleri

TorchScript PyTorch ekosisteminin ├Ânemli bir par├žas─▒ olan derin ├Â─črenme modellerini optimize etmek ve da─č─▒tmak i├žin g├╝├žl├╝ ├Âzellikler sa─člar.

TorchScript ├ľzellikler

─░┼čte TorchScript adresini geli┼čtiriciler i├žin de─čerli bir ara├ž haline getiren temel ├Âzellikler:

  • Static Graph Execution: TorchScript uses a static graph representation of the model's computation, which is different from PyTorch's dynamic graph execution. In static graph execution, the computational graph is defined and compiled once before the actual execution, resulting in improved performance during inference.

  • Model Serile┼čtirme: TorchScript , PyTorch modellerini platformdan ba─č─▒ms─▒z bir formatta serile┼čtirmenize olanak tan─▒r. Serile┼čtirilmi┼č modeller, orijinal Python koduna ihtiya├ž duyulmadan y├╝klenebilir ve farkl─▒ ├žal─▒┼čma zaman─▒ ortamlar─▒nda da─č─▒t─▒ma olanak tan─▒r.

  • JIT Compilation: TorchScript uses Just-In-Time (JIT) compilation to convert PyTorch models into an optimized intermediate representation. JIT compiles the model's computational graph, enabling efficient execution on target devices.

  • Diller Aras─▒ Entegrasyon: TorchScript ile PyTorch modellerini C++, Java ve JavaScript gibi di─čer dillere aktarabilirsiniz. Bu, PyTorch modellerinin farkl─▒ dillerde yaz─▒lm─▒┼č mevcut yaz─▒l─▒m sistemlerine entegre edilmesini kolayla┼čt─▒r─▒r.

  • Kademeli D├Ân├╝┼č├╝m: TorchScript kademeli bir d├Ân├╝┼č├╝m yakla┼č─▒m─▒ sunarak PyTorch modelinizin baz─▒ b├Âl├╝mlerini a┼čamal─▒ olarak TorchScript modeline d├Ân├╝┼čt├╝rmenize olanak tan─▒r. Bu esneklik ├Âzellikle karma┼č─▒k modellerle u─čra┼č─▒rken veya kodun belirli b├Âl├╝mlerini optimize etmek istedi─činizde kullan─▒┼čl─▒d─▒r.

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

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

TorchScript gibi makine ├Â─črenimi modelleri i├žin ├že┼čitli da─č─▒t─▒m se├ženekleri sunar:

  • C++ API: TorchScript i├žin en yayg─▒n kullan─▒m durumu, optimize edilmi┼č TorchScript modellerini do─črudan C++ uygulamalar─▒ i├žinde y├╝klemenize ve ├žal─▒┼čt─▒rman─▒za olanak tan─▒yan C++ API'sidir. Bu, Python 'un uygun veya kullan─▒labilir olmayabilece─či ├╝retim ortamlar─▒ i├žin idealdir. C++ API, TorchScript modellerinin d├╝┼č├╝k ek y├╝k ve verimli bir ┼čekilde y├╝r├╝t├╝lmesini sa─člayarak performans potansiyelini en ├╝st d├╝zeye ├ž─▒kar─▒r.

  • Mobil Da─č─▒t─▒m: TorchScript , modelleri mobil cihazlarda kolayca da─č─▒t─▒labilecek bi├žimlere d├Ân├╝┼čt├╝rmek i├žin ara├žlar sunar. PyTorch Mobil, bu modelleri iOS ve Android uygulamalar─▒ i├žinde ├žal─▒┼čt─▒rmak i├žin bir ├žal─▒┼čma zaman─▒ sa─člar. Bu, kullan─▒c─▒ deneyimini ve veri gizlili─čini geli┼čtirerek d├╝┼č├╝k gecikmeli, ├ževrimd─▒┼č─▒ ├ž─▒kar─▒m yetenekleri sa─člar.

  • Bulut Da─č─▒t─▒m─▒: TorchScript modelleri, TorchServe gibi ├ž├Âz├╝mler kullan─▒larak bulut tabanl─▒ sunuculara da─č─▒t─▒labilir. ├ťretim ortamlar─▒nda ├Âl├žeklenebilir da─č─▒t─▒m i├žin model s├╝r├╝mleme, toplu i┼č ve metrik izleme gibi ├Âzellikler sa─člar. TorchScript ile bulut da─č─▒t─▒m─▒, modellerinizi API'ler veya di─čer web hizmetleri arac─▒l─▒─č─▒yla eri┼čilebilir hale getirebilir.

TorchScript adresine aktar─▒n: YOLOv8 Modelinizi D├Ân├╝┼čt├╝rme

YOLOv8 modellerini TorchScript adresine aktarmak, bunlar─▒ farkl─▒ yerlerde kullanmay─▒ kolayla┼čt─▒r─▒r ve daha h─▒zl─▒ ve daha verimli ├žal─▒┼čmalar─▒na yard─▒mc─▒ olur. Bu, derin ├Â─črenme modellerini ger├žek d├╝nya uygulamalar─▒nda daha etkili bir ┼čekilde kullanmak isteyen herkes i├žin harikad─▒r.

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 Ultralytics 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, t├╝m Ultralytics YOLOv8 modellerinin d─▒┼ča aktar─▒labildi─čini, ancak se├žti─činiz modelin d─▒┼ča aktarma i┼člevini destekledi─činden burada emin olabilece─činizi belirtmek ├Ânemlidir.

Kullan─▒m

from ultralytics import YOLO

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

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolov8n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolov8n.torchscript")

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

# Run inference with the exported model
yolo predict model=yolov8n.torchscript 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 TorchScript Modellerini Da─č─▒tma

Ultralytics YOLOv8 modellerinizi TorchScript bi├žiminde ba┼čar─▒yla d─▒┼ča aktard─▒ktan sonra, art─▒k bunlar─▒ da─č─▒tabilirsiniz. Bir TorchScript modelini ├žal─▒┼čt─▒rmak i├žin birincil ve ├Ânerilen ilk ad─▒m, ├Ânceki kullan─▒m kod par├žas─▒nda belirtildi─či gibi YOLO("model.torchscript") y├Ântemini kullanmakt─▒r. Ancak, TorchScript modellerinizi di─čer ├že┼čitli ortamlarda da─č─▒tmaya ili┼čkin ayr─▒nt─▒l─▒ talimatlar i├žin a┼ča─č─▒daki kaynaklara g├Âz at─▒n:

  • Mobil Da─č─▒t─▒m─▒ Ke┼čfedin: PyTorch Mobil Dok├╝mantasyonu, modellerinizin mobil cihazlara da─č─▒t─▒lmas─▒ i├žin kapsaml─▒ y├Ânergeler sunarak uygulamalar─▒n─▒z─▒n verimli ve duyarl─▒ olmas─▒n─▒ sa─člar.

  • Ana Sunucu Taraf─▒ Da─č─▒t─▒m─▒: ├ľl├žeklenebilir, verimli model sunumu i├žin ad─▒m ad─▒m ├Â─čretici sunan TorchServe ile modellerin sunucu taraf─▒nda nas─▒l da─č─▒t─▒laca─č─▒n─▒ ├Â─črenin.

  • C++ Da─č─▒t─▒m─▒n─▒ Uygulama: Geli┼čmi┼č performans ve ├žok y├Ânl├╝l├╝k i├žin TorchScript modellerinizin C++ uygulamalar─▒na entegrasyonunu kolayla┼čt─▒ran C++'da TorchScript Modeli Y├╝kleme ├ľ─čreticisine dal─▒n.

├ľzet

Bu k─▒lavuzda, Ultralytics YOLOv8 modellerini TorchScript format─▒na aktarma s├╝recini inceledik. Verilen talimatlar─▒ izleyerek YOLOv8 modellerini performans a├ž─▒s─▒ndan optimize edebilir ve ├že┼čitli platform ve ortamlara da─č─▒tma esnekli─či kazanabilirsiniz.

For further details on usage, visit TorchScript's official documentation.

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-03-01, Updated 2024-06-10
Authors: glenn-jocher (5), abirami-vina (2)

Yorumlar