Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Geri Çağırma (Callback)

Geri aramaların Ultralytics eğitimini nasıl optimize ettiğini keşfedin. AI iş akışlarınızı geliştirmek için erken durdurma, kontrol noktası oluşturma ve özel günlük kaydı uygulamalarını öğrenin.

Yazılım mühendisliği ve yapay zeka (AI)alanında, geri çağırma, başka bir koda argüman olarak aktarılan ve daha sonra belirli bir zamanda argümanı yürütmesi (geri çağırması) beklenen yürütülebilir bir kod parçasıdır. derin öğrenme (DL) çerçevelerinde geri aramalar, geliştiricilerin model eğitimi döngüsünü özünde değiştirmeden özelleştirmelerine olanak tanıyan önemli araçlardır. Bunlar, eğitim sürecinin çeşitli aşamalarında, örneğin bir dönemin başlangıcı veya sonu gibi, belirli eylemleri gerçekleştiren otomatik tetikleyiciler olarak işlev görürler. epoch, bir eğitim partisi veya tüm eğitim oturumu gibi çeşitli aşamalarında belirli eylemleri gerçekleştiren otomatik tetikleyiciler olarak işlev görürler.

Makine Öğreniminde Geri Çağırmaların Rolü

Karmaşık bir sinir ağını saatler hatta günler sürebilir. Geri aramalar olmadan, eğitim süreci esasen tamamlanana kadar çalışan ve genellikle manuel denetim gerektiren bir "kara kutu"dur. Geri aramalar, gözlemlenebilirlik ve kontrol sağlar ve sistemin gerçek zamanlı performans ölçütlerine göre kendi kendini düzenlemesine olanak tanır.

PyTorch gibi üst düzey kütüphaneleri kullanırken PyTorch veya TensorFlowgibi yüksek seviyeli kütüphaneleri kullanırken, geri çağırmalar .. Örneğin, bir model iyi öğreniyorsa, bir geri arama mevcut durumu kaydedebilir; öğrenmeyi durdurursa, bir geri arama kaynakları korumak için süreci durdurabilir. Bu, makine öğrenimi (ML) iş akışını daha verimli ve sağlam hale getirir.

Yaygın Uygulamalar ve Gerçek Hayattan Örnekler

Geri aramalar çok yönlüdür ve model izleme ve optimizasyon

  • Erken Durdurma: En yaygın kullanım alanlarından biri erken durdurma. Bu geri arama, doğrulama verisi kayıp gibi belirli bir metriği izler. Kayıp belirli bir dönem boyunca azalmayı durdurursa, geri arama eğitimi durdurur. Bu, aşırı uyumlanmayıönler ve modelin eğitim verilerini.
  • Model Kontrol Noktası: Uzun eğitim süreçlerinde, donanım arızaları felaketle sonuçlanabilir. Kontrol noktası geri çağrısı, model ağırlıklarını düzenli aralıklarla (örneğin, her dönem) veya model, doğruluk veya ortalama ortalama hassasiyet (mAP)gibi metriklerde yeni bir "en iyi" puan elde ettiğinde yeniden ağırlıklandırın. Bu, her zaman en iyi performans gösteren modelin kaydedilmiş bir sürümüne sahip olmanızı sağlar.
  • Öğrenme Hızı Planlaması: öğrenme hızı , model ağırlıkları her güncellendiğinde modelin tahmin edilen hataya yanıt olarak ne kadar değişeceğini kontrol eder. Bir geri arama, bu oranı dinamik olarak ayarlayabilir ve öğrenme düzlüğüne ulaşıldığında modeli optimal çözüme yakınlaştırmak için bu oranı azaltabilir. Bu teknik genellikle öğrenme hızı düşüşüolarak adlandırılır.
  • Günlük Kaydı ve Görselleştirme: Geri aramalar, genellikle deney izleme araçlarıyla entegre etmek için sıklıkla kullanılır. Metrikleri TensorBoard veya MLflowgibi gösterge panellerine aktararak veri bilimcilerin kayıp fonksiyonlarını ve performans grafiklerini gerçek zamanlı olarak görselleştirmelerine olanak tanır.

Ultralytics YOLO ile Geri Arama İşlevlerini Uygulama

Ultralytics , kullanıcıların YOLO26 YOLO26. Bu, özellikle Ultralytics iş akışlarını yöneten ve özel günlük kaydı veya kontrol mantığına ihtiyaç duyan kullanıcılar için özellikle yararlıdır.

Aşağıda, her eğitim döneminin sonunda bir mesaj yazdırmak için özel bir geri çağırma işlevi tanımlama ve kaydetme konusunda kısa bir örnek verilmiştir. Python API Python kullanarak bir mesaj yazdırmak için özel bir geri çağırma işleminin nasıl tanımlanacağı ve kayded

from ultralytics import YOLO


# Define a custom callback function
def on_train_epoch_end(trainer):
    """Callback function to execute at the end of each training epoch."""
    print(f"Epoch {trainer.epoch + 1} complete. Current Fitness: {trainer.fitness}")


# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")

# Register the custom callback to the model
model.add_callback("on_train_epoch_end", on_train_epoch_end)

# Train the model with the callback active
model.train(data="coco8.yaml", epochs=3)

Geri aramalar ve kancalar

İlgili olmakla birlikte, geri aramaları hook'lardanayırt etmek yararlıdır. PyTorch gibi çerçevelerde, kancalar genellikle belirli tensor işlemlerine veya sinir ağı katmanlarına eklenir ve ileri veya geri geçiş sırasında gradyanları ve çıktıları inceler veya değiştirir. Buna karşılık, geri aramalar genellikle eğitim döngüsü olaylarına (başlangıç, son, toplu işleme) bağlı, matematiksel hesaplama grafiğinin kendisinden daha yüksek düzeyde soyutlamalardır.

Daha Fazla Okuma ve Kaynak

Eğitim iş akışlarını optimize etme konusunda bilgilerini derinleştirmek isteyenler için, hiperparametre ayarlamasını incelemek mantıklı bir sonraki adımdır. Ayrıca, temel bilgisayar görme (CV) görevleri gibi nesne algılama ve örnek segmentasyonu görevleri gerçekleştirilirken, geri aramalar yoluyla hassas eğitim kontrolünün neden gerekli olduğu konusunda bağlam sağlanacaktır. Bu süreçlerin kurumsal düzeyde yönetimi için Ultralytics , bu geri arama odaklı davranışların çoğunu otomatikleştiren entegre çözümler sunar.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın