Yolo Vision Shenzhen
Shenzhen
Şimdi katılın

Ultralytics kullanarak Ultralytics YOLO dışa aktarma

Ultralytics kullanarak yapay zeka görme modellerini kolaylıkla dışa aktarın. Birkaç tıklamayla modelleri uç cihaz, mobil ve bulut dağıtımına nasıl hazırlayabileceğinizi keşfedin.

Bir bilgisayar görme projesini hayata geçirmek mi istiyorsunuz?

Lisanslama hakkında bilgi edinin

Geçen ay, bilgisayar görme iş akışının tamamını basitleştirmek üzere tasarlanmış tek bir çalışma alanı olan Ultralytics kullanıma sunduk. Bu platform, veri kümesi yönetimi, etiketleme, model eğitimi, test etme, devreye alma ve izleme gibi temel görme yapay zeka yeteneklerini tek bir kullanışlı arayüzde bir araya getiriyor.

Şekil 1. Ultralytics genel bir bakış (Kaynak)

Bu uçtan uca iş akışının bir parçası olarak, dağıtım, modelleri deneme aşamasından gerçek dünyadaki kullanıma taşımada hayati bir rol oynar. Daha önce, API’ler aracılığıyla paylaşılan çıkarım, ölçeklenebilir üretim dağıtımları için özel uç noktalar ve uç cihazlarda veya harici altyapıda çalıştırılmak üzere modellerin dışa aktarılması dahil olmak üzere, platformda mevcut olan farklı dağıtım seçeneklerini incelemiştik.

Şimdi, model dışa aktarma özelliğine ve bunun farklı ortamlarda dağıtımı nasıl desteklediğine daha yakından bakalım. Ultralytics altyapı içinde modelleri çalıştıran paylaşımlı çıkarım ve özel uç noktaların aksine, model dışa aktarma özelliği, modellerin uç cihazlar, mobil uygulamalar ve özel altyapı gibi harici ortamlarda dağıtılmasını ve çalıştırılmasını sağlar.

Modellerin bu ortamlarda çalıştırılabilmesi için, hedef çalışma zamanı ortamı tarafından desteklenen biçimlere dönüştürülmeleri gerekir. Mobil ve uç cihazlar için hafif biçimlerden bulut ve GPU sistemler için yüksek performanslı biçimlere kadar, her dağıtım yapılandırmasının kendine özgü gereksinimleri vardır.

Geleneksel olarak bu süreç, komut dosyaları, bağımlılıklar ve çok sayıda araç gerektirdiği için zaman alıcı olabilir. Ultralytics ile veri aktarımı çok daha basit hale gelir. Modeller, ek bir kurulum gerektirmeden sadece birkaç tıklamayla dönüştürülebilir ve optimize edilebilir.

Bu makalede, model dışa aktarımının ne anlama geldiğini, Ultralytics nun desteklediği formatları ve kullanım amacınıza en uygun olanı nasıl seçeceğinizi ele alacağız. Hadi başlayalım!

Model dışa aktarma hakkında genel bilgiler

Bir modeli dışa aktarmak, önceden eğitilmiş veya özel olarak eğitilmiş bir modeli, orijinal çerçeve dışında kullanılabilir bir biçime dönüştürmeyi gerektirir. Ultralytics YOLO PyTorch kullanılarak oluşturulur PyTorch kendi yerel biçimlerinde saklanır; bu biçim, PyTorch içinde eğitim, değerlendirme ve deneme çalışmaları için oldukça uygundur.

Ancak, dağıtım ortamlarında genellikle farklı çalışma ortamları ve donanım gereksinimleri bulunur. Bu nedenle, eğitim sırasında kullanılan format her zaman dağıtım için uygun olmayabilir.

Örneğin, bir mobil uygulama düşük güç tüketimi için optimize edilmiş hafif bir biçime ihtiyaç duyabilirken, tarayıcı tabanlı bir uygulama ise web ortamlarında verimli bir şekilde çalışan bir biçime ihtiyaç duyar. 

Kameralar ve gömülü sistemler gibi uç cihazlar, kompakt ve hızlı modellerden yararlanırken, bulut sistemleri ise yüksek performanslı çıkarım işlemleri için tasarlanmıştır. Bu farklı senaryoları desteklemek için modellerin uyumlu biçimlere aktarılması gerekir. 

Modelleri dışa aktarma seçeneği neden her zamankinden daha önemli?

Günümüzde bilgisayar görme modelleri, verilerin üretildiği yerlere daha yakın konumlarda, özellikle de uç cihazlarda kullanıma sunulmaktadır. Akıllı telefonlar gerçek zamanlı görme uygulamalarını çalıştırmakta, CCTV kameraları cihaz üzerinde izleme gerçekleştirmekte ve otonom sistemler anlık karar verme süreçlerine dayanmaktadır.

Ancak, bu ortamlarda dağıtım yapmak kendine özgü zorlukları beraberinde getirir. Uç cihazlar sınırlı hesaplama gücüne sahiptir, katı gecikme süresi gereklilikleri vardır ve bellek ile enerji tüketimi konusunda kısıtlamalar söz konusudur. Yeterli kaynaklarla eğitim aşamasında iyi performans gösteren bir model, bu kısıtlı koşullar altında verimli bir şekilde çalışmayabilir.

Bir modeli doğru biçime aktarmak, bu zorlukların üstesinden gelmeye yardımcı olabilir. Model uygun şekilde dönüştürülerek hız açısından optimize edilebilir, boyutu küçültülebilir ve belirli donanımlarla uyumlu hale getirilebilir. 

Aynı zamanda, dışa aktarma esneklik sağlar. Aynı model, belirli gereksinimlere göre çeşitli biçimlere dönüştürülerek farklı dağıtım ortamlarına uyarlanabilir.

Şekil 2. Ultralytics 'nda kullanılabilen bazı dışa aktarma biçimleri (Kaynak)

Örneğin, NCNN biçimi, kaynak kullanımı düşük olan mobil ve uç cihazlar için optimize edilmiştir. Buna karşılık OpenVINO , Intel göre uyarlanmıştır ve merkezi işlem birimleri (CPU), grafik işlem birimleri (GPU) ve sinirsel işlem birimleri (NPU) üzerinde daha iyi performans sunar. 

Çoğu durumda, bu düzeyde bir esneklik elde etmek, manuel dönüştürme işlemleri, bağımlılıklar ve çok sayıda araçla uğraşmak anlamına geliyordu; bu da süreci zaman alıcı ve karmaşık hale getiriyordu. Ultralytics , model dışa aktarımını daha erişilebilir ve yönetimi daha kolay hale getirerek bu iş akışını kolaylaştırır.

Ultralytics model aktarımını nasıl kolaylaştırıyor?

Genellikle, bir modelin dışa aktarılması, bilgisayar görme iş akışlarında ayrı ve karmaşık bir adım olarak ele alınır. Ultralytics , modeli doğrudan eğitmeden devreye almaya kadar her şeyi kapsayan tek bir çalışma alanına dışa aktarma seçeneğini entegre ederek bu durumu değiştiriyor.

En önemli avantajlarından biri, kod yazmaya gerek kalmadan gerçekleştirilebilen dışa aktarma işlemidir. Komut dosyası yazmaya, ortamları yönetmeye veya çerçeveye özgü komutlar kullanmaya gerek yoktur. Modeller, kullanıcı dostu bir arayüz üzerinden sadece birkaç tıklamayla dışa aktarılabilir.

Şekil 3. Ultralytics bir modelin dışa aktarılmasına ilişkin bir örnek (Kaynak)

Arka planda, platform en zorlu işleri üstleniyor. Normalde birden fazla araç ve manuel kurulum gerektiren görevler, tek bir süreçte birleştiriliyor. Ekstra bağımlılıklar yüklemenize veya uyumluluk sorunlarıyla uğraşmanıza gerek kalmıyor; bu sayede, eğitilmiş bir modelden üretime hazır bir çözüme geçiş çok daha kolay hale geliyor.

Ultralytics tarafından desteklenen model dışa aktarım biçimleri

Ultralytics 17 farklı dışa aktarım formatını destekler; bu sayede, ek bir karmaşıklık yaratmadan modelleri çok çeşitli dağıtım ortamları için kolayca hazırlayabilirsiniz.

İşte yaygın olarak kullanılan bazı dışa aktarma biçimlerine genel bir bakış:

  • Çapraz platform ve birlikte çalışabilirlik: ONNX TorchScript , farklı çerçeveler ve ortamlarda modelleri çalıştırmak için yaygın olarak TorchScript . ONNX , ekosistemler arasında bir köprü ONNX araçlar arasında model aktarımını kolaylaştırırken, TorchScript ise Python gerektirmeden PyTorch üretim ortamında çalıştırılmasını TorchScript .
  • GPU'larda yüksek performanslı çıkarım: TensorRT NVIDIA içinTensorRT ve modelleri düşük gecikme süresi ve yüksek verim için optimize etmeye odaklanır. Çıkarım işlemlerini hızlandırmak amacıyla hassasiyet azaltma ve katman birleştirme gibi teknikleri destekler; bu da onu gerçek zamanlı ve üretim ölçeğindeki uygulamalar için güçlü bir seçenek haline getirir.
  • Mobil ve uç cihazlarda dağıtım: CoreML, LiteRT (TensorFlow ) ve NCNN , sınırlı işlem gücü ve belleğe sahip cihazlar için optimize NCNN . Bu formatlar model boyutunu küçültür ve verimliliği artırarak akıllı telefonlarda, gömülü sistemlerde ve uç donanımlarda sorunsuz performans sağlar. CoreML genellikle Apple ekosistemlerinde CoreML , LiteRT Android yaygındır.
  • Donanım için optimize edilmiş yürütme: OpenVINO , CPU'lar, GPU'lar ve VPU'lar dahil olmak üzere Intel özel olarakOpenVINO ve bu cihazlarda çıkarım hızını ve verimliliğini artırmaya yardımcı olur. Bu tür donanım özel formatlar, belirli bir sistemden en yüksek performansı elde etmeniz gerektiğinde faydalıdır.
  • Çerçeveye özgü ve özel çalışma zamanları: PaddlePaddle ExecuTorch gibi formatlar , modelleri uç cihazlarda verimli bir şekilde çalıştırma veya belirli derin öğrenme yığınlarıyla entegrasyon gibi belirli ekosistemleri ve dağıtım ihtiyaçlarını destekler.

Ultralytics kullanarak bir model nasıl dışa aktarılır

Ultralytics bir modeli dışa aktarmak, kullanıcı arayüzü tabanlı basit bir işlemdir. Tüm iş akışı, komut dosyalarına veya komut satırı araçlarına gerek kalmaksızın arayüz üzerinden gerçekleştirilir.

Platformu kullanarak bir modeli şu şekilde dışa aktarabilirsiniz:

  • Giriş yapın ve modelinizi seçin: Projenize gidin ve dışa aktarmak istediğiniz eğitilmiş modeli açın.
  • Dışa Aktar sekmesine gidin: Model kontrol panelinde, mevcut dışa aktarma seçeneklerini görüntülemek için Dışa Aktar sekmesine tıklayın.
  • Bir dışa aktarma biçimi seçin: Dağıtım gereksinimlerinize CoreML ONNX, TensorRT veya CoreML gibi bir biçim seçin.
  • Dışa aktarma ayarlarını yapılandırın (isteğe bağlı): Performansı optimize etmek için resim boyutu, hassasiyet veya toplu iş boyutu gibi parametreleri ayarlayın.
  • Dışa aktarma işlemini başlatın: İşlemi başlatmak için “Dışa Aktarmayı Başlat” seçeneğine tıklayın. Platform, dönüştürme işlemini otomatik olarak gerçekleştirir.
  • Dışa aktarılan modeli indirin: Dışa aktarma işlemi tamamlandığında, modeli indirebilir ve dağıtım ardışık düzeninizde kullanabilirsiniz.
Şekil 4. Ultralytics 'da dışa aktarma ayarlarının yapılandırılmasına genel bir bakış

Doğru dışa aktarma biçimini seçme

Ultralytics tarafından desteklenen farklı dışa aktarma biçimlerini incelerken, hangisini seçmeniz gerektiğini merak edebilirsiniz. Cevap, aslında modelinizi nerede ve nasıl kullanmayı planladığınıza bağlıdır.

İşte dikkate alınması gereken birkaç faktör:

  • Gecikme gereksinimleri: Video analizi veya otonom sistemler gibi gerçek zamanlı uygulamalar için düşük gecikme süresi hayati önem taşır. Yüksek performanslı çıkarım için optimize edilmiş formatlar, örneğin TensorRTgibi yüksek performanslı çıkarım için optimize edilmiş formatlar genellikle daha uygundur.
  • Donanım kısıtlamaları: Cep telefonları veya gömülü sistemler gibi sınırlı bellek ve işlem gücüne sahip cihazlar, LiteRT veya NCNN gibi hafif formatlara ihtiyaç duyar. 
  • Model boyutu ve güç tüketimi: Kenar cihazlarıyla çalışırken model boyutu ve güç tüketimi önem kazanır. Daha küçük ve optimize edilmiş modeller, kaynakları tüketmeden tutarlı bir performans sağlanmasına yardımcı olur.
  • Dağıtım ortamı: Modelinizin farklı platformlarda çalıştırılması gerekiyorsa, ONNX gibi formatlar esneklik ONNX . iOS gibi platforma özgü kullanım durumlarında ise CoreML genellikle daha iyi bir CoreML .

Herkese uyan tek bir format yoktur. Asıl mesele, performans, uyumluluk ve hedef ortamınızın sınırlamaları arasında bir denge kurmaktır. Ultralytics , farklı formatları ekstra çaba harcamadan denemenize ve karşılaştırmanıza olanak tanıyarak bu süreci kolaylaştırır.

Önemli çıkarımlar

Dışa aktarma, modelinizi farklı ortamlarda gerçek dünya kullanımına hazır hale getirmek için hayati bir adımdır. Ultralytics ile bu süreç çok daha basit hale gelir; böylece ekstra kurulum veya karmaşıklık olmadan modellerinizi dönüştürebilir ve optimize edebilirsiniz. Kullanım amacınıza uygun formatı seçerek, modelinizin hangi ortamda kullanılırsa kullanılsın verimli bir şekilde çalıştığından emin olabilirsiniz.

Giderek büyüyen topluluğumuza katılın ve bilgisayar görme hakkında daha fazla bilgi edinmek için GitHub depomuzu inceleyin. Robotikte yapay zeka ve lojistikte bilgisayar görme gibi uygulamalar hakkında daha fazla bilgi edinmek için çözüm sayfalarımızı keşfedin. Lisans seçeneklerimizi inceleyin ve görme tabanlı yapay zeka ile geliştirmeye başlayın! 

Hadi birlikte yapay zekanın geleceğini şekillendirelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın