İçeriğe geç

YOLOv8 Modellerinden PaddlePaddle Formatına Nasıl Aktarılır

Farklı koşullara sahip gerçek dünya senaryolarında bilgisayarla görme modelleri geliştirmek ve uygulamak arasındaki boşluğu doldurmak zor olabilir. PaddlePaddle esneklik, performans ve dağıtılmış ortamlarda paralel işleme kapasitesine odaklanarak bu süreci kolaylaştırır. Bu, YOLOv8 bilgisayarla görme modellerinizi akıllı telefonlardan bulut tabanlı sunuculara kadar çok çeşitli cihaz ve platformlarda kullanabileceğiniz anlamına gelir.

PaddlePaddle model formatına dışa aktarma yeteneği, aşağıdakileri optimize etmenize olanak tanır Ultralytics YOLOv8PaddlePaddle çerçevesinde kullanım için modeller. PaddlePaddle , endüstriyel dağıtımları kolaylaştırmasıyla bilinir ve çeşitli alanlardaki gerçek dünya ortamlarında bilgisayarla görme uygulamalarını dağıtmak için iyi bir seçimdir.

Neden PaddlePaddle adresine ihracat yapmalısınız?

PaddlePaddle Logo

Baidu tarafından geliştirilmiştir, PaddlePaddle(PArallel Distributed Deep LEarning) Çin'in ilk açık kaynaklı derin öğrenme platformudur. Esas olarak araştırma için oluşturulmuş bazı çerçevelerin aksine, PaddlePaddle kullanım kolaylığına ve sektörler arasında sorunsuz entegrasyona öncelik verir.

TensorFlow ve PyTorch gibi popüler çerçevelere benzer araçlar ve kaynaklar sunarak tüm deneyim seviyelerindeki geliştiriciler için erişilebilir hale getirir. Tarım ve fabrikalardan hizmet işletmelerine kadar, PaddlePaddle'un 4,77 milyonu aşkın geniş geliştirici topluluğu yapay zeka uygulamalarının oluşturulmasına ve dağıtılmasına yardımcı oluyor.

Ultralytics YOLOv8 modellerinizi PaddlePaddle formatına aktararak, PaddlePaddle'un performans optimizasyonundaki güçlü yönlerinden yararlanabilirsiniz. PaddlePaddle verimli model yürütmeye ve daha az bellek kullanımına öncelik verir. Sonuç olarak, YOLOv8 modelleriniz potansiyel olarak daha da iyi performans elde edebilir ve pratik senaryolarda birinci sınıf sonuçlar sunabilir.

PaddlePaddle Modellerinin Temel Özellikleri

PaddlePaddle modelleri, çeşitli dağıtım senaryolarında esneklik, performans ve ölçeklenebilirliklerine katkıda bulunan bir dizi temel özellik sunar:

  • Dinamikten Statik Grafiğe: PaddlePaddle , modellerin statik bir hesaplama grafiğine çevrilebildiği dinamikten statik derlemeyi destekler. Bu, çalışma zamanı ek yükünü azaltan ve çıkarım performansını artıran optimizasyonlara olanak tanır.

  • Operatör Füzyonu: PaddlePaddle TensorRT gibi, hesaplamayı kolaylaştırmak ve ek yükü azaltmak için operatör füzyonunu kullanır. Çerçeve, uyumlu işlemleri birleştirerek bellek aktarımlarını ve hesaplama adımlarını en aza indirir ve daha hızlı çıkarım sağlar.

  • Niceleme: PaddlePaddle , eğitim sonrası niceleme ve niceleme farkındalı eğitim dahil olmak üzere niceleme tekniklerini destekler. Bu teknikler, daha düşük hassasiyetli veri temsillerinin kullanılmasına izin vererek performansı etkili bir şekilde artırır ve model boyutunu azaltır.

Dağıtım Seçenekleri PaddlePaddle

YOLOv8 modellerini PaddlePaddle adresine aktarma koduna dalmadan önce, PaddlePaddle modellerinin mükemmel olduğu farklı dağıtım senaryolarına bir göz atalım.

PaddlePaddle her biri farklı bir kullanım kolaylığı, esneklik ve performans dengesi sunan bir dizi seçenek sunar:

  • Paddle Serving: Bu çerçeve, PaddlePaddle modellerinin yüksek performanslı RESTful API'ler olarak dağıtımını basitleştirir. Üretim ortamları için ideal olan Paddle Serving, model sürümleme, çevrimiçi A/B testi ve büyük hacimli istekleri işlemek için ölçeklenebilirlik gibi özellikler sunar.

  • Paddle Çıkarım API'si: Paddle Inference API size model yürütme üzerinde düşük seviyeli kontrol sağlar. Bu seçenek, modeli özel bir uygulamaya sıkıca entegre etmeniz veya belirli bir donanım için performansı optimize etmeniz gereken senaryolar için çok uygundur.

  • Paddle Lite: Paddle Lite, kaynakların sınırlı olduğu mobil ve gömülü cihazlarda kullanılmak üzere tasarlanmıştır. Modelleri daha küçük boyutlar ve ARM CPU'lar, GPU'lar ve diğer özel donanımlarda daha hızlı çıkarım için optimize eder.

  • Paddle.js: Paddle.js, PaddlePaddle modellerini doğrudan web tarayıcılarında dağıtmanıza olanak tanır. Paddle.js, önceden eğitilmiş bir modeli yükleyebilir veya Paddle.js tarafından sağlanan model dönüştürme araçlarıyla paddle-hub 'dan bir modeli dönüştürebilir. WebGL/WebGPU/WebAssembly destekleyen tarayıcılarda çalışabilir.

PaddlePaddle adresine aktarın: YOLOv8 Modelinizi Dönüştürme

YOLOv8 modellerinin PaddlePaddle formatına dönüştürülmesi, yürütme esnekliğini artırabilir ve çeşitli dağıtım senaryoları için performansı optimize edebilir.

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 PaddlePaddle format
model.export(format='paddle')  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO('./yolov8n_paddle_model')

# Run inference
results = paddle_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

Desteklenen dışa aktarma seçenekleri hakkında daha fazla bilgi için dağıtım seçenekleriyle ilgiliUltralytics belge sayfasını ziyaret edin.

Dışa Aktarılan YOLOv8 PaddlePaddle Modellerini Dağıtma

Ultralytics YOLOv8 modellerinizi PaddlePaddle biçimine başarıyla aktardıktan sonra, artık bunları dağıtabilirsiniz. Bir PaddlePaddle modelini çalıştırmak için birincil ve önerilen ilk adım, önceki kullanım kod parçasında belirtildiği gibi YOLO("./model_paddle_model") yöntemini kullanmaktır.

Bununla birlikte, PaddlePaddle modellerinizi diğer çeşitli ortamlarda dağıtmaya ilişkin ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:

  • Kürek Servisi: Paddle Serving kullanarak PaddlePaddle modellerinizi performanslı hizmetler olarak nasıl dağıtacağınızı öğrenin.

  • Paddle Lite: Paddle Lite kullanarak mobil ve gömülü cihazlarda modellerin nasıl optimize edileceğini ve dağıtılacağını keşfedin.

  • Paddle.js: Paddle.js kullanarak istemci tarafı yapay zeka için PaddlePaddle modellerini web tarayıcılarında nasıl çalıştıracağınızı keşfedin.

Özet

Bu kılavuzda, Ultralytics YOLOv8 modellerini PaddlePaddle formatına aktarma sürecini inceledik. Bu adımları izleyerek, farklı donanım ve yazılım ortamları için modellerinizi optimize ederek çeşitli dağıtım senaryolarında PaddlePaddle'un güçlü yönlerinden yararlanabilirsiniz.

Kullanım hakkında daha fazla bilgi için PaddlePaddle resmi belgelerini ziyaret edin

Ultralytics YOLOv8 modellerinizi entegre etmenin daha fazla yolunu keşfetmek ister misiniz? Entegrasyon kılavuzu sayfamız çeşitli seçenekleri inceleyerek sizi değerli kaynaklar ve içgörülerle donatıyor.



Oluşturuldu 2024-03-11, Güncellendi 2024-04-02
Yazarlar: Burhan-Q (1), abirami-vina (2)

Yorumlar