─░├žeri─če ge├ž

Ultralytics YOLO Modelleri i├žin OpenVINO ├ç─▒kar─▒m─▒n─▒ Optimize Etme: Kapsaml─▒ Bir K─▒lavuz

OpenVINO Ekosistem

Giri┼č

Derin ├Â─črenme modellerini, ├Âzellikle de Ultralytics YOLO modelleri gibi nesne alg─▒lamaya y├Ânelik modelleri da─č─▒t─▒rken optimum performans elde etmek ├žok ├Ânemlidir. Bu k─▒lavuz, gecikme ve verim ├╝zerine odaklanarak ├ž─▒kar─▒m─▒ optimize etmek i├žin Intel'in OpenVINO ara├ž setinden yararlanmay─▒ incelemektedir. ─░ster t├╝ketici s─▒n─▒f─▒ uygulamalar ister b├╝y├╝k ├Âl├žekli da─č─▒t─▒mlar ├╝zerinde ├žal─▒┼č─▒yor olun, bu optimizasyon stratejilerini anlamak ve uygulamak, modellerinizin ├že┼čitli cihazlarda verimli bir ┼čekilde ├žal─▒┼čmas─▒n─▒ sa─člayacakt─▒r.

Gecikme i├žin Optimizasyon

Gecikme optimizasyonu, t├╝ketici senaryolar─▒nda tipik olarak g├Âr├╝len, tek bir girdi verildi─činde tek bir modelden an─▒nda yan─▒t al─▒nmas─▒n─▒ gerektiren uygulamalar i├žin hayati ├Ânem ta┼č─▒r. Ama├ž, girdi ile ├ž─▒kar─▒m sonucu aras─▒ndaki gecikmeyi en aza indirmektir. Ancak d├╝┼č├╝k gecikme s├╝resine ula┼čmak, ├Âzellikle e┼č zamanl─▒ ├ž─▒kar─▒mlar yaparken veya birden fazla modeli y├Ânetirken dikkatli bir de─čerlendirme gerektirir.

Gecikme Optimizasyonu i├žin Temel Stratejiler:

  • Cihaz Ba┼č─▒na Tek ├ç─▒kar─▒m: D├╝┼č├╝k gecikme s├╝resi elde etmenin en basit yolu, cihaz ba┼č─▒na bir seferde bir ├ž─▒kar─▒mla s─▒n─▒rland─▒rmakt─▒r. Ek e┼čzamanl─▒l─▒k genellikle gecikmenin artmas─▒na neden olur.
  • Alt Cihazlardan Yararlanma: ├çok soketli CPU'lar veya ├žok katmanl─▒ GPU'lar gibi cihazlar, dahili alt ayg─▒tlar─▒n─▒ kullanarak birden fazla iste─či minimum gecikme art─▒┼č─▒yla y├╝r├╝tebilir.
  • OpenVINO Performans ─░pu├žlar─▒: OpenVINO'u kullanarak ov::hint::PerformanceMode::LATENCY i├žin ov::hint::performance_mode ├Âzelli─či, performans ayar─▒n─▒ basitle┼čtirerek cihazdan ba─č─▒ms─▒z ve gelece─če d├Ân├╝k bir yakla┼č─▒m sunar.

─░lk ├ç─▒kar─▒m Gecikmesini Y├Ânetme:

  • Model ├ľnbelle─če Alma: Gecikmeyi etkileyen model y├╝kleme ve derleme s├╝relerini azaltmak i├žin m├╝mk├╝n olan yerlerde model ├Ânbelle─če almay─▒ kullan─▒n. ├ľnbelle─če alman─▒n uygun olmad─▒─č─▒ senaryolar i├žin CPU'lar genellikle en h─▒zl─▒ model y├╝kleme s├╝relerini sunar.
  • Model E┼čleme ve Okuma: Y├╝kleme s├╝relerini azaltmak i├žin OpenVINO model okumay─▒ e┼čleme ile de─či┼čtirmi┼čtir. Ancak, model ├ž─▒kar─▒labilir bir s├╝r├╝c├╝de veya a─č s├╝r├╝c├╝s├╝ndeyse ov::enable_mmap(false) okumaya geri d├Ânmek i├žin.
  • OTOMAT─░K Cihaz Se├žimi: Bu mod ├ž─▒kar─▒ma CPU'da ba┼člar, haz─▒r oldu─čunda h─▒zland─▒r─▒c─▒ya ge├žerek ilk ├ž─▒kar─▒m gecikmesini sorunsuz bir ┼čekilde azalt─▒r.

Verim i├žin Optimizasyon

Verim optimizasyonu, ├žok say─▒da ├ž─▒kar─▒m talebine ayn─▒ anda hizmet veren senaryolar i├žin ├žok ├Ânemlidir ve bireysel talep performans─▒ndan ├Ânemli ├Âl├ž├╝de ├Âd├╝n vermeden kaynak kullan─▒m─▒n─▒ en ├╝st d├╝zeye ├ž─▒kar─▒r.

Verim Optimizasyonuna Yakla┼č─▒mlar:

  1. OpenVINO Performans ─░pu├žlar─▒: Performans ipu├žlar─▒n─▒ kullanarak cihazlar aras─▒nda verimi art─▒rmak i├žin y├╝ksek seviyeli, gelece─če d├Ân├╝k bir y├Ântem.

    import openvino.properties.hint as hints
    
    config = {hints.performance_mode: hints.PerformanceMode.THROUGHPUT}
    compiled_model = core.compile_model(model, "GPU", config)
    
  2. A├ž─▒k Toplu ─░┼č ve Ak─▒┼člar: Geli┼čmi┼č performans ayar─▒ i├žin a├ž─▒k gruplama ve ak─▒┼člar─▒n kullan─▒m─▒n─▒ i├žeren daha ayr─▒nt─▒l─▒ bir yakla┼č─▒m.

Verim Odakl─▒ Uygulamalar Tasarlama:

Verimi en ├╝st d├╝zeye ├ž─▒karmak i├žin uygulamalar ┼čunlar─▒ yapmal─▒d─▒r:

  • Giri┼čleri paralel olarak i┼čleyerek cihaz─▒n yeteneklerinden tam olarak yararlan─▒n.
  • Veri ak─▒┼č─▒n─▒, paralel y├╝r├╝tme i├žin zamanlanan e┼čzamanl─▒ ├ž─▒kar─▒m isteklerine ayr─▒┼čt─▒r─▒n.
  • Verimlili─či korumak ve cihaz─▒n a├ž kalmas─▒n─▒ ├Ânlemek i├žin Async API'yi geri aramalarla kullan─▒n.

Çok Cihazlı Yürütme:

OpenVINO'in ├žoklu cihaz modu, uygulama d├╝zeyinde cihaz y├Ânetimi gerektirmeden cihazlar aras─▒nda ├ž─▒kar─▒m isteklerini otomatik olarak dengeleyerek verimi ├Âl├žeklendirmeyi basitle┼čtirir.

Sonu├ž

Ultralytics YOLO modellerini OpenVINO ile gecikme ve verim a├ž─▒s─▒ndan optimize etmek, uygulaman─▒z─▒n performans─▒n─▒ ├Ânemli ├Âl├ž├╝de art─▒rabilir. Geli┼čtiriciler bu k─▒lavuzda ├Âzetlenen stratejileri dikkatli bir ┼čekilde uygulayarak modellerinin verimli bir ┼čekilde ├žal─▒┼čmas─▒n─▒ ve ├že┼čitli da─č─▒t─▒m senaryolar─▒n─▒n taleplerini kar┼č─▒lamas─▒n─▒ sa─člayabilir. Gecikme veya verim i├žin optimizasyon aras─▒ndaki se├žimin ├Âzel uygulama ihtiya├žlar─▒n─▒za ve da─č─▒t─▒m ortam─▒n─▒n ├Âzelliklerine ba─čl─▒ oldu─čunu unutmay─▒n.

Daha ayr─▒nt─▒l─▒ teknik bilgiler ve en son g├╝ncellemeler i├žin OpenVINO belgelerine ve Ultralytics YOLO deposuna bak─▒n. Bu kaynaklar, derin ├Â─črenme modellerinizden en iyi ┼čekilde yararlanman─▒za yard─▒mc─▒ olmak i├žin derinlemesine k─▒lavuzlar, ├Â─čreticiler ve topluluk deste─či sa─člar.


Modellerinizin optimum performansa ula┼čmas─▒n─▒ sa─člamak sadece yap─▒land─▒rmalar─▒ de─či┼čtirmekle ilgili de─čildir; uygulaman─▒z─▒n ihtiya├žlar─▒n─▒ anlamak ve bilin├žli kararlar almakla ilgilidir. ─░ster ger├žek zamanl─▒ yan─▒tlar i├žin optimizasyon yap─▒yor ister b├╝y├╝k ├Âl├žekli i┼čleme i├žin verimi en ├╝st d├╝zeye ├ž─▒kar─▒yor olun, Ultralytics YOLO modelleri ve OpenVINO kombinasyonu, geli┼čtiricilerin y├╝ksek performansl─▒ yapay zeka ├ž├Âz├╝mlerini da─č─▒tmalar─▒ i├žin g├╝├žl├╝ bir ara├ž seti sunar.



Created 2024-03-17, Updated 2024-06-10
Authors: glenn-jocher (4)

Yorumlar