PaddlePaddle entegrasyonunu kullanarak Ultralytics YOLO11'i aktarmak
Uç, mobil ve bulut platformlarında verimli dağıtım için Ultralytics YOLO11 gibi Ultralytics YOLO modellerini PaddlePaddle ile nasıl aktaracağını öğren.

Yapay zeka (YZ) ilerledikçe, makineler çevrelerini anlama konusunda daha iyi hale geliyor. Bu ilerlemeyi sağlayan temel alanlardan biri, makinelerin görsel verileri yorumlamasını ve buna dayalı kararlar almasını sağlayan bir YZ dalı olan bilgisayarlı görüdür.
Arabaların trafik işaretlerini tanımasına yardımcı olmaktan perakende mağazalarındaki rafları kontrol etmeye kadar, bilgisayarlı görü artık birçok günlük aracın bir parçası haline geldi. Bu görevler, bir fotoğrafı veya videoyu hızlıca tarayıp neyin önemli olduğunu tanımlayabilen görme odaklı YZ modellerine dayanır.
Zamanla bu modeller daha hızlı ve daha doğru hale geldi; bu da onları tarım, sağlık, güvenlik ve perakende gibi alanlarda kullanışlı kıldı. Örneğin, Ultralytics YOLO11, bir dizi bilgisayarlı görü görevini hız ve hassasiyetle yerine getirmek için oluşturulmuş bir modeldir. Nesneleri tespit edebilir ve sınıflandırabilir, hareketi takip edebilir ve vücut pozlarını tahmin edebilir.
Bilgisayarlı görüyü araştırmadan gerçek dünya uygulamalarına taşımanın hayati bir parçası dağıtımdır (deployment). Bir model eğitildikten sonra, bir sonraki adım onu telefonlar, uç cihazlar (edge hardware) veya bulut sunucuları gibi cihazlarda çalıştırmaktır.

Şekil 1. Model dağıtımı herhangi bir bilgisayarlı görü projesinin kilit bir parçasıdır.
Bunu desteklemek için, YOLO11 gibi Ultralytics YOLO modelleri, hedef platforma bağlı olarak çeşitli formatlara dışa aktarılabilir. Bu formatlardan biri, geniş bir cihaz ve sistem yelpazesinde verimli model dağıtımı ve çıkarımı (inference) sağlayan açık kaynaklı bir YZ çerçevesi olan PaddlePaddle'dır.
Bu makalede, Ultralytics YOLO11'in çeşitli platformlarda verimli dağıtım sağlamak amacıyla Ultralytics tarafından desteklenen PaddlePaddle entegrasyonu aracılığıyla nasıl dışa aktarılabileceğini inceleyeceğiz.
Link to this sectionPaddlePaddle nedir?#
YZ modellerini araştırma ortamlarının dışında, mobil cihazlarda veya uç donanımlarda dağıtmak, özellikle verimli bir şekilde çalışmalarını ve minimum kaynak kullanmalarını istediğinizde bazen zor olabilir. PaddlePaddle, tam da bu konuda yardımcı olmak için tasarlanmış bir derin öğrenme çerçevesidir.
Bu, adı Paralel Dağıtık Derin Öğrenme (Parallel Distributed Deep Learning) anlamına gelen Çin merkezli açık kaynaklı bir platformdur. YZ ve yazılım altyapısındaki çalışmalarıyla tanınan Baidu tarafından geliştirilen PaddlePaddle, sadece araştırma için değil, özellikle gerçek dünya uygulamaları için yaratılmıştır.
Geliştiriciler, PaddlePaddle formatındaki modelleri sunucularda, uç cihazlarda ve hatta mobil donanımlarda çalıştırabilirler. Ayrıca, düşük kodlu ve kodsuz seçenekler dahil olmak üzere YZ geliştirmeyi basitleştiren araçları da destekler. Platform, 4,7 milyondan fazla kullanıcıdan oluşan güçlü bir geliştirici topluluğuna sahiptir ve sağlık, tarım, üretim ve finans dahil olmak üzere çeşitli endüstrilerde kullanılmaktadır.
Link to this sectionPaddlePaddle'ın temel özellikleri#
İşte PaddlePaddle'ın modelleri gerçek dünya cihazlarında daha verimli bir şekilde çalıştırmasına yardımcı olan temel özelliklerden bazıları:
- Dinamikten statiğe grafik dönüştürme: Bu özellik, esnek bir modeli daha sorunsuz ve öngörülebilir şekilde çalışan sabit bir sürüme dönüştürür. Sabit bir modelin optimize edilmesi daha kolaydır ve tahmin yaparken daha hızlıdır.
- Operatör birleştirme: PaddlePaddle, modeldeki birden fazla adımı tek bir adımda birleştirebilir. Bu, modelin ne kadar bellek kullandığını azaltır ve daha hızlı çalışmasına yardımcı olur. Bunu, zamandan tasarruf etmek için birkaç görevi tek bir eylemde birleştirmek gibi düşünebilirsin.
- Nicemleme (Quantization): Bu, daha basit sayılar kullanarak (daha az ondalık basamağa yuvarlama gibi) modeli küçültür. Modelin, doğruluktan fazla ödün vermeden telefonlar veya akıllı kameralar gibi sınırlı güce sahip cihazlarda çalışmasına yardımcı olur.

Şekil 2. PaddlePaddle kullanmanın avantajları. Görsel yazar tarafından hazırlanmıştır.
Link to this sectionPaddlePaddle ile YOLO11 dağıtımına genel bakış#
Ultralytics tarafından desteklenen PaddlePaddle entegrasyonu, eğitimden dağıtıma geçişi kolaylaştırır. Halihazırda PaddlePaddle araçlarını kullanan geliştiriciler, YOLO11'i iş akışlarına daha kolay dahil edebilirler.
Ultralytics Python paketi, YOLO11 modellerinin PaddlePaddle formatına doğrudan dışa aktarılmasını destekler ve geliştiricilerin eğitilmiş modelleri ek araçlar veya manuel dönüştürme adımları olmadan dağıtmasına olanak tanır.
Dışa aktarma işlemi, komut satırı veya Python kodu kullanılarak yapılabilir, böylece geliştiriciler iş akışlarına en uygun yöntemi seçebilirler. Bu, işleri basit tutmaya yardımcı olur ve kurulum sorunları olasılığını azaltır. Dışa aktarıldıktan sonra model, nesne tespiti, görüntü sınıflandırma, poz tahmini ve örnek segmentasyonu gibi bilgisayarlı görü görevleri için kullanılabilir.
Cihazların belleğinin sınırlı olduğu veya hızlı işleme gerektiren dağıtım senaryoları için harika bir seçenektir. Dışa aktarılan modeller, kaynak kısıtlı sistemlerde bile verimli çalışacak şekilde optimize edilmiştir.
Link to this sectionYOLO11 modelleri PaddlePaddle formatına nasıl dışa aktarılır#
YOLO11'i PaddlePaddle model formatına dışa aktarmak sadece birkaç adım sürer.
İlk adım, 'pip' gibi bir paket yöneticisi kullanarak Ultralytics Python paketini yüklemektir. Bu, başlamak için komut isteminizde veya terminalinizde “pip install ultralytics” komutunu çalıştırarak yapılabilir.
Ultralytics paketi, bir dizi bilgisayarlı görü görevi için modelleri eğitmek, değerlendirmek, ince ayar yapmak, dışa aktarmak ve dağıtmak için araçlar sağlar. Kurulum sırasında herhangi bir sorunla karşılaşırsan, sorun giderme ipuçları için Yaygın Sorunlar kılavuzuna göz at.
Ortamın ayarlandıktan sonra, aşağıda gösterildiği gibi “yolo11n.pt” gibi önceden eğitilmiş bir YOLO11 modelini yükleyebilir ve dışa aktarabilirsin. Ayrıca kendi özel eğitilmiş YOLO11 modelini de dışa aktarabilirsin.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="paddle")Modelin PaddlePaddle formatına dönüştürüldükten sonra, farklı donanım türlerinde çeşitli senaryolarda dağıtılabilir.
Örneğin, aşağıdaki örnekte, PaddlePaddle formatına dışa aktarılan bir YOLO11 modelini yüklüyoruz ve bir tahmin yapmak için kullanıyoruz. Çıkarım (inference) çalıştırmak olarak bilinen bu işlem, kısaca modeli yeni verileri analiz etmek için kullanmak anlamına gelir. Burada, iki köpek içeren bir görselle test ediyoruz.
paddle_model = YOLO("./yolo11n_paddle_model")
paddle_model("https://images.pexels.com/photos/33287/dog-viszla-close.jpg", save=True)Kodu çalıştırdıktan sonra, modelin tahminlerini içeren çıktı görüntüsü otomatik olarak “runs/detect/predict” klasörüne kaydedilecektir.

Şekil 3. Bir görüntüdeki nesneleri tespit etmek için dışa aktarılan YOLO11 modelini kullanma. Görsel yazar tarafından hazırlanmıştır.
Link to this sectionPaddlePaddle çerçevesini kullanarak YOLO11'i dağıtma#
PaddlePaddle, her biri bulut ortamları, gömülü sistemler ve web uygulamaları gibi farklı cihazlar ve kullanım durumları için uygun olan çeşitli dağıtım araçları sunar. İşte ana dağıtım seçeneklerinden bazıları:
- Paddle Serving: Modelleri REST API'leri olarak dağıtmaya yardımcı olur; bu da onu sürüm kontrolü ve çevrimiçi test gibi özelliklere ihtiyaç duyan bulut veya sunucu ortamları için iyi bir seçenek haline getirir.
- Paddle Inference API: Modellerin nasıl çalışacağı üzerinde sana daha fazla kontrol sağlar; bu, performansa ince ayar yapman veya özel uygulama mantığı oluşturman gerektiğinde yardımcı olur.
- Paddle Lite: Mobil cihazlarda, tabletlerde ve gömülü sistemlerde hafif dağıtım için tasarlanmıştır. Daha küçük modeller ve sınırlı kaynaklara sahip donanımlarda daha hızlı çıkarım için optimize edilmiştir.
- Paddle.js: WebGL ve WebAssembly gibi teknolojileri kullanarak YZ modellerini web tarayıcılarında çalıştırmanı sağlar; bu, etkileşimli demolar ve tarayıcı tabanlı araçlar için kullanışlıdır.

Şekil 4. PaddlePaddle tarafından sağlanan dağıtım seçenekleri. Görsel yazar tarafından hazırlanmıştır.
Kurulumun için doğru aracı seçtikten sonra, dışa aktarılan modeli yükleyebilirsin. PaddlePaddle motoru sonraki adımları halleder. Modeli yükler, girdi görüntüsünü işler ve sonuçları geri verir.
Link to this sectionPaddlePaddle entegrasyonunu ne zaman seçmelisin?#
Ultralytics Python paketi diğer çeşitli dışa aktarma formatlarını da destekler, bu yüzden kendine şu soruyu sorabilirsin: PaddlePaddle ne zaman doğru seçimdir?
PaddlePaddle, akıllı telefonlar, gömülü sistemler veya uç donanımlar gibi sınırlı kaynaklara sahip cihazlarda modelleri dağıtmak istediğinde güvenilir bir seçenektir. Ayrıca, mobil uygulamalarda nesne tespiti, akıllı kameralarda görme tabanlı izleme veya bulut desteği olmadan doğrudan cihaz üzerinde çalışan poz tahmini gibi hızlı ve verimli performans gerektiren gerçek zamanlı uygulamalar için de harikadır.
Bunun ötesinde, proje çevrimdışı veya düşük bağlantılı ortamlarda çalışması gerekiyorsa, PaddlePaddle entegrasyonunu kullanmayı düşünebilirsin. Üretimde görsel denetim araçları, saha araştırmaları için el tipi cihazlar veya YZ özellikli perakende tarayıcıları gibi uygulamalar, PaddlePaddle'ın hafif çalışma zamanı ve esnek dağıtım seçeneklerinden faydalanabilir.
Link to this sectionDikkate alınması gereken PaddlePaddle sınırlamaları#
PaddlePaddle ilginç dağıtım yetenekleri sunsa da, farkında olman gereken bazı kısıtlayıcı faktörler şunlardır:
- Daha küçük küresel topluluk: Çin dışında, kullanıcı ve katkıda bulunan tabanı nispeten küçüktür. Bu, topluluk desteği, çözülmüş GitHub sorunları veya Stack Overflow cevapları bulmayı zorlaştırabilir.
- Baidu dışı araçlar için daha dik öğrenme eğrisi: PaddlePaddle, Baidu'nun ekosistemiyle sorunsuz bir şekilde bütünleşir, ancak bu bağlamın dışında kullanmak ekstra yapılandırma ve kurulum adımları içerebilir.
- Ana akım YZ araçlarıyla daha az entegrasyon: PaddlePaddle, Hugging Face Transformers, MLflow veya Kubernetes tabanlı YZ hizmetleri gibi yaygın araçlarla sınırlı uyumluluğa sahiptir.
Link to this sectionÖne çıkanlar#
Ultralytics tarafından desteklenen PaddlePaddle entegrasyonu, YOLO11 modellerini çeşitli cihazlarda dışa aktarmayı ve dağıtmayı kolaylaştırır. Özellikle mobil uygulamalar, akıllı kameralar veya gömülü sistemler gibi verimli, cihaz üzerinde performans gerektiren projeler için kullanışlıdır.
Sadece birkaç adımla güçlü görme modellerini gerçek dünya uygulamalarına getirebilirsin. Bilgisayarlı görü ilerlemeye devam ettikçe, YOLO ve PaddlePaddle gibi araçlar tüketici cihazlarından endüstriyel araçlara kadar her şeyde hızlı, akıllı sistemler kurmayı her zamankinden daha kolay hale getiriyor.
Büyüyen topluluğumuza bugün katıl! GitHub depomuzu keşfederek YZ'nin derinliklerine in. Kendi bilgisayarlı görü projelerini mi oluşturmak istiyorsun? Lisanslama seçeneklerimizi incele. Sağlıkta bilgisayarlı görünün verimliliği nasıl artırdığını öğren ve çözüm sayfalarımızı ziyaret ederek perakendede YZ etkisini keşfet!






