Ultralytics YOLO modelleriyle eğitim, doğrulama, tahmin, dışa aktarma ve kıyaslama yapma
Ultralytics YOLO Modelleriyle eğitim, doğrulama, tahmin, dışa aktarma ve kıyaslama yapmayı öğren!

Ultralytics dünyasına dalalım ve farklı YOLO modelleri için kullanılabilen çeşitli modları keşfedelim. İster özel nesne algılama modelleri eğitiyor ister segmentasyon üzerinde çalışıyor ol, bu modları anlamak önemli bir adımdır. Hemen başlayalım!
Ultralytics belgelendirmesinde, modellerin için kullanabileceğin; eğitim, doğrulama, tahmin, dışa aktarma, kıyaslama veya izleme gibi çeşitli modlar bulacaksın. Bu modların her biri benzersiz bir amaca hizmet eder ve modelinin performansını ve dağıtımını optimize etmene yardımcı olur.
Eğitim modu#
Öncelikle eğitim moduna bakalım. Modelini burada oluşturur ve geliştirirsin. Belgelendirmede ayrıntılı talimatlar ve video rehberleri bulabilir, böylece özel modellerini eğitmeye kolayca başlayabilirsin.
Model eğitimi, modele yeni bir veri kümesi sağlanmasını ve modelin çeşitli örüntüleri öğrenmesini içerir. Eğitildikten sonra model, üzerinde eğitim aldığı yeni nesneleri gerçek zamanlı olarak algılamak için kullanılabilir. Eğitim sürecine başlamadan önce veri kümeni YOLO formatında etiketlemen çok önemlidir.
Doğrulama modu#
Şimdi doğrulama moduna geçelim. Doğrulama, hiperparametreleri ayarlamak ve modelinin iyi performans gösterdiğinden emin olmak için gereklidir. Ultralytics; otomatik ayarlar, çoklu metrik desteği ve Python API ile uyumluluk gibi çeşitli doğrulama seçenekleri sunar. Aşağıdaki komutla doğrulamayı doğrudan komut satırı arayüzü (CLI) üzerinden de çalıştırabilirsin.
Neden doğrulama yapılmalı?#
Doğrulama şu konular için kritiktir:
- Kesinlik: Modelinin nesneleri doğru şekilde algıladığından emin olmak.
- Kolaylık: Doğrulama sürecini kolaylaştırmak.
- Esneklik: Birden fazla doğrulama yöntemi sunmak.
- Hiperparametre ayarlama: Daha iyi performans için modelini optimize etmek.
Ultralytics, Python betiklerine kopyalayıp yapıştırabileceğin kullanıcı örnekleri de sunar. Bu örneklerde görüntü boyutu, yığın boyutu, cihaz (CPU veya GPU) ve kesişim/birleşim oranı (IoU) gibi parametreler yer alır.
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. Aşağıdaki Python kod parçacığıyla görüntülerin üzerinde tahminler çalıştırabilirsin!
Dışa aktarma modu#
Doğrulama ve tahminden sonra modelini dağıtmak isteyebilirsin. Dışa aktarma modu, modelini ONNX veya TensorRT gibi çeşitli formatlara dönüştürmeni sağlar ve farklı platformlarda dağıtımı kolaylaştırır.
Kıyaslama modu#
Son olarak kıyaslama modumuz var. Kıyaslama, modelinin çeşitli senaryolardaki performansını değerlendirmek için gereklidir. Bu mod; kaynak tahsisi, optimizasyon ve maliyet verimliliği hakkında bilinçli kararlar vermene yardımcı olur.
Kıyaslama nasıl yapılır?#
Bir kıyaslama çalıştırmak için belgelendirmede sunulan kullanıcı örneklerini kullanabilirsin. Bu örnekler, ONNX ve TensorRT dahil olmak üzere temel metrikleri ve dışa aktarma formatlarını kapsar. Farklı ayarların performansı nasıl etkilediğini görmek için tamsayı niceleme (INT8) veya kayan noktalı niceleme (FP16) gibi parametreler de belirleyebilirsin.
Gerçek dünya kıyaslama örneği#
Gerçek dünyadan bir kıyaslama örneğine bakalım. PyTorch modelimizi kıyasladığımızda, RTX 3070 GPU üzerinde 68 milisaniyelik bir çıkarım hızı görüyoruz. TorchScript'e dışa aktardıktan sonra çıkarım hızı 4 milisaniyeye düşüyor ve bu da önemli bir iyileşme gösteriyor.
ONNX modellerinde 21 milisaniyelik bir çıkarım hızına ulaşıyoruz. Bu modelleri bir CPU (Intel i9 13. nesil) üzerinde test ettiğimizde farklı sonuçlar görüyoruz. TorchScript 115 milisaniyede çalışırken ONNX, 84 milisaniyelik süreyle daha iyi performans gösteriyor. Son olarak Intel donanımı için optimize edilen OpenVINO, etkileyici bir 23 milisaniyeye ulaşıyor.

Şekil 1. Nicolai Nielsen, Ultralytics YOLO Modelleriyle kıyaslamanın nasıl çalıştırılacağını gösteriyor.
Kıyaslamanın önemi#
Kıyaslama, farklı donanımların ve dışa aktarma formatlarının modelinin performansını nasıl etkileyebileceğini gösterir. Özellikle modellerini özel donanımlarda veya uç cihazlarda dağıtmayı planlıyorsan kıyaslama yapman çok önemlidir. Bu süreç, modelinin hedef ortam için optimize edilmesini ve mümkün olan en iyi performansı sunmasını sağlar.
Sonuç#
Özetle, Ultralytics belgelendirmesindeki 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 hayati bir rol oynar.
Topluluğumuzu keşfetmeyi ve topluluğumuza katılmayı, ayrıca sağlanan kod parçacıklarını projelerinde denemeyi unutma. Bu araçlarla yüksek performanslı modeller oluşturabilir ve bunların her ortamda verimli çalışmasını sağlayabilirsin.









