Yeşil çek
Panoya kopyalanan bağlantı

Ultralytics YOLO Modelleri ile Eğitim, Doğrulama, Tahmin, Dışa Aktarma ve Kıyaslama

Ultralytics YOLO Modelleri ile nasıl eğitim alacağınızı, doğrulayacağınızı, tahmin edeceğinizi, dışa aktaracağınızı ve kıyaslama yapacağınızı öğrenin!

Ultralytics dünyasına dalalım ve farklı YOLO modelleri için mevcut olan farklı modları keşfedelim. İster özel nesne algılama modellerini eğitiyor ister segmentasyon üzerinde çalışıyor olun, bu modları anlamak çok önemli bir adımdır. Hadi hemen başlayalım!

Ultralytics dokümantasyonunda, modellerinizi eğitmek, doğrulamak, tahmin etmek, dışa aktarmak, kıyaslamak veya izlemek için kullanabileceğiniz çeşitli modlar bulacaksınız. Bu modların her biri benzersiz bir amaca hizmet eder ve modelinizin performansını ve dağıtımını optimize etmenize yardımcı olur.

Tren Modu

İlk olarak tren moduna bakalım. Burası modelinizi oluşturduğunuz ve geliştirdiğiniz yerdir. Özel modellerinizi eğitmeye başlamanızı kolaylaştıran ayrıntılı talimatları ve video kılavuzlarını belgelerde bulabilirsiniz.

Model eğitimi, bir modele yeni bir veri kümesi sağlayarak çeşitli kalıpları öğrenmesine izin vermeyi içerir. Model eğitildikten sonra, üzerinde eğitildiği yeni nesneleri tespit etmek için gerçek zamanlı olarak kullanılabilir. Eğitim sürecine başlamadan önce veri setinize YOLO formatında açıklama eklemeniz çok önemlidir.

Doğrulama Modu

Daha sonra, doğrulama moduna geçelim. Doğrulama, hiperparametreleri ayarlamak ve modelinizin iyi performans göstermesini sağlamak için gereklidir. Ultralytics otomatik ayarlar, çoklu metrik desteği ve Python API ile uyumluluk dahil olmak üzere çeşitli doğrulama seçenekleri sunar. Doğrulamayı aşağıdaki komutla doğrudan komut satırı arayüzü (CLI) üzerinden bile çalıştırabilirsiniz.


yolo detect val model=yolov8n.pt # val official model

Neden Doğrulama?

Doğrulama aşağıdakiler için kritik öneme sahiptir:

  • Hassasiyet: Modelinizin nesneleri doğru bir şekilde algılamasını sağlamak.
  • Kolaylık: Doğrulama sürecinin kolaylaştırılması.
  • Esneklik: Birden fazla doğrulama yöntemi sunar.
  • Hiperparametre Ayarlama: Daha iyi performans için modelinizi optimize etme.

Ultralytics ayrıca Python komut dosyalarınıza kopyalayıp yapıştırabileceğiniz kullanıcı örnekleri de sağlar. Bu örnekler görüntü boyutu, yığın boyutu, cihaz (CPU veya GPU) ve birleşim üzerinde kesişim (IoU) gibi parametreleri içerir.

Tahmin Modu

Modeliniz eğitildikten ve doğrulandıktan sonra sıra tahminler yapmaya gelir. Tahmin modu, yeni veriler üzerinde çıkarım yapmanıza ve modelinizi çalışırken görmenize olanak tanır. Bu mod, modelinizin performansını gerçek dünya verileri üzerinde test etmek için mükemmeldir.

Aşağıdaki python kod parçacığı ile resimleriniz üzerinde tahminler çalıştırabileceksiniz!


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

Dışa Aktarma Modu

Doğrulama ve tahmin işlemlerinden sonra modelinizi dağıtmak isteyebilirsiniz. Dışa aktarma modu, modelinizi ONNX veya TensorRT gibi çeşitli biçimlere dönüştürmenize olanak tanıyarak farklı platformlara dağıtmayı kolaylaştırır.

Benchmark Modu

Son olarak, kıyaslama moduna sahibiz. Kıyaslama, modelinizin performansını çeşitli senaryolarda değerlendirmek için çok önemlidir. Bu mod kaynak tahsisi, optimizasyon ve maliyet verimliliği hakkında bilinçli kararlar almanıza yardımcı olur.

Nasıl Benchmark Yapılır

Bir kıyaslama çalıştırmak için belgelerde sağlanan kullanıcı örneklerini kullanabilirsiniz. Bu örnekler, ONNX ve TensorRT dahil olmak üzere temel ölçümleri ve dışa aktarma biçimlerini kapsar. Farklı ayarların performansı nasıl etkilediğini görmek için tamsayı niceleme (INT8) veya kayan nokta niceleme (FP16) gibi parametreleri de belirleyebilirsiniz.

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 üzerinde 68 milisaniyelik bir çıkarım hızı görüyoruz. TorchScript adresine aktardıktan sonra çıkarım hızı 4 milisaniyeye düşerek önemli bir gelişme gösteriyor.

ONNX modelleri için 21 milisaniyelik bir çıkarım hızı elde ediyoruz. Bu modelleri bir CPU (bir Intel i9 13. nesil) üzerinde test ettiğimizde, farklı sonuçlar görüyoruz. TorchScript 115 milisaniyede çalışırken, ONNX 84 milisaniyede daha iyi performans gösteriyor. Son olarak, Intel donanımı için optimize edilen OpenVINO 23 milisaniye gibi çarpıcı bir süre elde ediyor.

Şekil 1. Nicolai Nielsen Ultralytics YOLO Modelleri ile kıyaslamanın nasıl yapılacağını gösteriyor.

Benchmarking'in Önemi

Kıyaslama, farklı donanım ve dışa aktarma biçimlerinin modelinizin performansını nasıl etkileyebileceğini gösterir. Modellerinizi, özellikle de özel donanım veya uç cihazlara dağıtmayı planlıyorsanız, kıyaslamak çok önemlidir. Bu süreç, modelinizin hedef ortam için optimize edilmesini sağlayarak mümkün olan en iyi performansı sunar.

Sonuç

Özetle, Ultralytics dokümantasyonundaki modlar, YOLO modellerinizi eğitmek, doğrulamak, tahmin etmek, dışa aktarmak ve kıyaslamak için güçlü araçlardır. Her mod, modelinizi optimize etmede ve dağıtıma hazırlamada hayati bir rol oynar.

Topluluğumuzu keşfetmeyi ve topluluğumuza katılmayı ve sağlanan kod parçacıklarını projelerinizde denemeyi unutmayın. Bu araçlarla yüksek performanslı modeller oluşturabilir ve bunların her ortamda verimli bir şekilde çalışmasını sağlayabilirsiniz.

Facebook logosuTwitter logosuLinkedIn logosuKopya-bağlantı sembolü

Bu kategoride daha fazlasını okuyun

Yapay zekanın gelecekteki
adresini birlikte inşa edelim!

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