Ultralytics YOLO modelleriyle eğitim, doğrulama, tahmin, dışa aktarma ve kıyaslama nasıl yapılır?
Ultralytics YOLO'nun train, val, predict, export, track ve benchmark modlarının nasıl çalıştığını, doğrulama metrikleri ve gerçek dünya kıyaslama sonuçlarına dair ipuçlarıyla öğren.
Nuvola Ladi3 dakikalık okuma
Ultralytics YOLO modelleri, model yaşam döngüsünün tamamını kapsayan çeşitli modlarla birlikte gelir. Özel nesne algılama modelleri eğitiyor veya segmentasyon üzerinde çalışıyor olsan da bu modları anlamak kritik bir adımdır.
Ultralytics belgelerinde, modellerinde kullanabileceğin çeşitli modlar bulabilirsin. Modellerini eğitmek, doğrulamak, tahmin yapmak, dışa aktarmak, takip etmek veya karşılaştırmalı değerlendirmek için bu modları kullanabilirsin. Bu modların her biri farklı bir amaca hizmet eder ve modelinin performansını ve dağıtımını optimize etmene yardımcı olur.
Eğitim modu#
Önce eğitim moduna bakalım. Modelini burada oluşturup geliştirirsin. Belgelerde ayrıntılı yönergeler ve video kılavuzları bulabilir, böylece özel modellerini kolayca eğitmeye başlayabilirsin.
Model eğitimi, modele yeni bir veri kümesi sunarak çeşitli örüntüleri öğrenmesini sağlar. Model eğitildikten sonra, eğitildiği yeni nesneleri gerçek zamanlı olarak algılamak için kullanılabilir. Eğitim sürecine başlamadan önce veri kümeni YOLO biçiminde etiketlemen önemlidir.
Doğrulama modu#
Şimdi doğrulama moduna bakalım. Hiperparametreleri ayarlamak ve modelinin iyi performans gösterdiğinden emin olmak için doğrulama şarttır. Ultralytics; otomatik ayarlar, çoklu metrik desteği ve Python API uyumluluğu gibi çeşitli doğrulama seçenekleri sunar. Tek bir komutla doğrudan komut satırı arayüzü (CLI) üzerinden bile doğrulama çalıştırabilirsin.
Neden doğrulama yapmalısın?#
Doğrulama şu açılardan kritik önem taşır:
- Kesinlik: Modelinin nesneleri doğru biçimde tespit etmesini sağlama.
- Kolaylık: Doğrulama sürecini kolaylaştırma.
- Esneklik: Birden fazla doğrulama yöntemi sunma.
- Hiperparametre Ayarı: Daha iyi performans için modelini optimize etme.
Ultralytics, Python betiklerine kopyalayıp yapıştırabileceğin kullanıcı örnekleri de sunar. Bu örnekler; görüntü boyutu, yığın boyutu, aygıt (CPU veya GPU) ve kesişim-birleşim oranı (IoU) gibi parametreleri içerir.
Tahmin modu#
Modelin eğitilip doğrulandıktan sonra tahmin yapma zamanı gelir. Tahmin modu, yeni veriler üzerinde çıkarım çalıştırmana ve modelinin işleyişini görmene olanak tanır. Bu mod, modelinin gerçek dünya verilerindeki performansını test etmek için idealdir. Birkaç satır Python koduyla görüntülerinde tahminler çalıştırabilirsin.
Dışa aktarma modu#
Doğrulama ve tahmin işlemlerinden sonra modelini dağıtıma almak isteyebilirsin. Dışa aktarma modu, modelini ONNX veya TensorRT gibi çeşitli biçimlere dönüştürmeni sağlayarak farklı platformlarda dağıtıma almayı kolaylaştırır.
Kıyaslama modu#
Son olarak kıyaslama moduna bakalım. Modelinin farklı senaryolardaki performansını değerlendirmek için kıyaslama yapmak şarttır. Bu mod; kaynak tahsisi, optimizasyon ve maliyet verimliliği konusunda bilinçli kararlar almana yardımcı olur.
Nasıl kıyaslama yapılır?#
Karşılaştırmalı değerlendirme yapmak için belgelerdeki kullanıcı örneklerini kullanabilirsin. Bu örnekler, ONNX ve TensorRT dâhil temel metrikleri ve dışa aktarma biçimlerini kapsar. Farklı ayarların performansı nasıl etkilediğini görmek için tamsayı niceleme (INT8) veya yarı hassasiyet (FP16) seçeneğinde quantize argümanını da ayarlayabilirsin.
Gerçek dünyadan kıyaslama örneği#
Gerçek dünyadan bir kıyaslama örneğine bakalım. PyTorch modelimizi kıyasladığımızda RTX 3070 GPU'da 68 milisaniyelik bir çıkarım hızı elde ediyoruz. TorchScript'e aktardıktan sonra çıkarım hızı 4 milisaniyeye düşüyor; bu da önemli bir iyileşme sağlandığını gösteriyor.
ONNX modellerinde 21 milisaniyelik çıkarım hızına ulaşıyoruz. Bu modelleri bir CPU'da (13. nesil Intel i9) test ettiğimizde farklı sonuçlar görüyoruz. TorchScript 115 milisaniyede çalışırken ONNX, 84 milisaniyeyle daha iyi performans gösteriyor. Son olarak Intel donanımları için optimize edilmiş OpenVINO, 23 milisaniyeye ulaşıyor.

Şekil 1. Ultralytics YOLO modelleriyle karşılaştırmalı değerlendirme çalıştırmayı gösteren Nicolai Nielsen.
Kıyaslamanın önemi#
Kıyaslama, farklı donanımların ve dışa aktarma biçimlerinin modelinin performansını nasıl etkileyebileceğini gösterir. Özellikle özel donanımlarda veya uç aygıtlarda dağıtıma almayı planlıyorsan modellerini kıyaslamak çok önemlidir. Bu süreç, modelinin hedef ortama göre optimize edilmesini ve mümkün olan en iyi performansı sunmasını sağlar.
Sonuç#
Özetle, Ultralytics belgelerindeki modlar YOLO modellerini eğitmek, doğrulamak, tahmin yapmak, dışa aktarmak ve kıyaslamak için güçlü araçlardır. Her mod, modelini optimize etmede ve dağıtıma hazırlamada önemli bir rol oynar.
Topluluğumuzu keşfedip katılmayı ve sunduğumuz kod parçacıklarını projelerinde denemeyi unutma. Bu araçlarla yüksek performanslı modeller oluşturabilir ve her ortamda verimli çalıştıklarından emin olabilirsin.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










