Ultralytics YOLO27:

Makine Öğrenimi En İyi Uygulamaları ve Model Eğitimi İpuçları#

Giriş#

Bir bilgisayarlı görü projesi üzerinde çalışırken en önemli adımlardan biri model eğitimidir. Bu aşamaya gelmeden önce hedeflerini tanımlaman ve verilerini toplaman ve etiketlemen gerekir. Verilerin temiz ve tutarlı olduğundan emin olmak için verileri ön işledikten sonra modelini eğitmeye geçebilirsin.

Model eğitimi, modeline görsel örüntüleri tanımayı ve verilerinden tahminler yapmayı öğretme sürecidir ve uygulamanın doğruluğunu doğrudan şekillendirir. Bu kılavuz, bilgisayarlı görü modellerini etkili bir şekilde eğitmene yardımcı olmak için en iyi uygulamaları, optimizasyon tekniklerini ve sorun giderme ipuçlarını ele alır.



Watch: Model Training Tips | How to Handle Large Datasets | Batch Size, GPU Utilization and Mixed Precision

Makine Öğrenimi Modeli Nasıl Eğitilir#

Bir bilgisayarlı görü modeli, hataları en aza indirmek için dahili parametreleri ayarlanarak eğitilir. Başlangıçta modele büyük bir etiketli görüntü kümesi verilir. Model, bu görüntülerde ne olduğunu tahmin eder ve hataları hesaplamak için tahminler gerçek etiketlerle veya içeriklerle karşılaştırılır. Bu hatalar, modelin tahminlerinin gerçek değerlerden ne kadar saptığını gösterir.

Eğitim sırasında model yinelemeli olarak tahminler yapar, hataları hesaplar ve parametrelerini geri yayılım adı verilen bir süreçle günceller. Bu süreçte model, hataları azaltmak için dahili parametrelerini (ağırlıklar ve bias değerleri) ayarlar. Bu döngüyü birçok kez tekrarlayarak doğruluğunu kademeli olarak artırır. Zamanla şekiller, renkler ve dokular gibi karmaşık örüntüleri tanımayı öğrenir.

What is Backpropagation?

Bu öğrenme süreci, bilgisayarlı görü modelinin nesne tespiti, örnek segmentasyonu, semantik segmentasyon ve görüntü sınıflandırma gibi çeşitli görevleri gerçekleştirmesini mümkün kılar. Nihai amaç, öğrendiklerini daha önce görmediği yeni görüntülere genelleyebilen ve böylece gerçek dünya uygulamalarındaki görsel verileri doğru şekilde anlayabilen bir model oluşturmaktır.

Artık bir modeli eğittiğimizde arka planda neler olduğunu bildiğimize göre, model eğitirken dikkate alınması gereken noktalara bakalım.

Büyük Veri Kümeleriyle Eğitim#

Bir modeli eğitmek için büyük bir veri kümesi kullanmayı planlarken dikkate alman gereken birkaç farklı konu vardır. Örneğin batch size değerini ayarlayabilir, GPU kullanımını kontrol edebilir, çok ölçekli eğitimi kullanmayı seçebilirsin. Şimdi bu seçeneklerin her birini ayrıntılı olarak inceleyelim.

Batch Size ve GPU Kullanımı#

Büyük veri kümeleri üzerinde model eğitirken GPU'nu verimli kullanmak çok önemlidir. Batch size önemli bir etkendir. Bu, bir makine öğrenimi modelinin tek bir eğitim yinelemesinde işlediği veri örneği sayısıdır. GPU'nun desteklediği maksimum batch size değerini kullanarak kapasitesinden tam olarak yararlanabilir ve model eğitiminin sürdüğü süreyi azaltabilirsin. Ancak GPU belleğinin tükenmesini önlemelisin. Bellek hatalarıyla karşılaşırsan model sorunsuz şekilde eğitilene kadar batch size değerini kademeli olarak azalt.



Watch: How to Use Batch Inference with Ultralytics YOLO26 | Speed Up Object Detection in Python 🎉

YOLO26 için GPU kapasitenle eşleşmesi amacıyla Train mode arguments içindeki batch parametresini ayarlayabilirsin. Tek bir hızlandırıcıda batch=-1, modeli profiller ve yaklaşık %60 bellek kullanımını hedefleyen bir batch size seçer; batch=0.70 gibi bir kesir farklı bir kullanım oranını hedefler. Çok GPU'lu çalıştırmalarda cihaz sayısının katı olan açık bir global batch size gerekir. CPU ve Apple silicon üzerinde AutoBatch uyarı verir ve batch=16 değerine geri döner.

Alt Küme Eğitimi#

Alt küme eğitimi, daha büyük veri kümesini temsil eden daha küçük bir veri kümesiyle modelini eğitmeyi içeren akıllı bir stratejidir. Özellikle ilk model geliştirme ve test aşamalarında zaman ve kaynak tasarrufu sağlayabilir. Zamanın kısıtlıysa veya farklı model yapılandırmalarını deniyorsan alt küme eğitimi iyi bir seçenektir.

YOLO26 söz konusu olduğunda, fraction parametresiyle alt küme eğitimini kolayca uygulayabilirsin. Eğitim verilerinin %10'u için fraction=0.1 gibi bir oran, tam olarak 300 eğitim görüntüsü için fraction=300 gibi bir tam sayı veya her bölümü sınırlayıp test görüntülerini atlamak için fraction=[300, 100, 0] gibi bir [train, val, test] listesi kullan. [300, 100] gibi iki öğeli listeler test bölümünü eksiksiz bırakır. NDJSON veri kümeleri indirilmeden önce eşit aralıklı kayıtları seçer; böylece tekrarlanan çalıştırmalar aynı alt kümeyi kullanır. Bu teknik, tam veri kümesine geçmeden önce hızlı yinelemeleri ve ayarlamayı destekler.

Çok Ölçekli Eğitim#

Çok ölçekli eğitim, modeli farklı boyutlardaki görüntülerle eğiterek genelleme yeteneğini geliştiren bir tekniktir. Modelin farklı ölçek ve uzaklıklardaki nesneleri algılamayı öğrenmesini ve daha dayanıklı hale gelmesini sağlar.

Örneğin YOLO26'yı eğitirken scale parametresini ayarlayarak ölçek artırmayı etkinleştirebilirsin. Bu parametre, farklı uzaklıklardaki nesneleri taklit etmek için eğitim görüntülerinin boyutunu belirtilen bir faktöre göre ayarlar. Örneğin scale=0.5 değerinin ayarlanması, eğitim sırasında eğitim görüntülerini 0.5 ile 1.5 arasında rastgele bir faktörle yakınlaştırır. Bu parametreyi yapılandırmak, modelinin çeşitli görüntü ölçekleriyle karşılaşmasını ve farklı nesne boyutları ile senaryolarındaki tespit yeteneklerini geliştirmesini sağlar.

Ultralytics, multi_scale parametresi aracılığıyla görüntü boyutuna dayalı çok ölçekli eğitimi de destekler. Görüntüleri yakınlaştırıp ardından imgsz boyutuna geri dolduran/kırpan scale parametresinin aksine, multi_scale her batch'te imgsz değerinin kendisini (model stride değerine yuvarlayarak) değiştirir. Örneğin imgsz=640 ve multi_scale=0.25 ile eğitim boyutu, stride adımlarıyla 480'den 800'e kadar örneklenir (ör. 480, 512, 544, ..., 800); multi_scale=0.0 ise sabit bir boyutu korur.

Önbelleğe Alma#

Önbelleğe alma, makine öğrenimi modellerinin eğitim verimliliğini artıran önemli bir tekniktir. Ön işlenmiş görüntüleri bellekte depolayarak GPU'nun verilerin diskten yüklenmesini beklediği süreyi azaltır. Model, disk G/Ç işlemlerinin neden olduğu gecikmeler olmadan sürekli veri alabilir.

YOLO26 eğitilirken önbelleğe alma cache parametresiyle kontrol edilebilir:

  • cache=True: Veri kümesi görüntülerini RAM'de depolar; en hızlı erişim hızını sağlar ancak bellek kullanımını artırır.
  • cache='disk': Görüntüleri diskte depolar; RAM'den daha yavaştır ancak her seferinde yeni verileri yüklemekten daha hızlıdır.
  • cache=False: Önbelleğe almayı devre dışı bırakır ve tamamen disk G/Ç işlemlerine dayanır; bu en yavaş seçenektir.

Karma Hassasiyetli Eğitim#

Karma hassasiyetli eğitim, hem 16 bit (FP16) hem de 32 bit (FP32) kayan nokta türlerini kullanır. FP16 daha hızlı hesaplama için, FP32 ise gerektiğinde hassasiyeti korumak için kullanılarak her ikisinin güçlü yönlerinden yararlanılır. Sinir ağı işlemlerinin çoğu, daha hızlı hesaplama ve daha düşük bellek kullanımı sağlamak için FP16 ile gerçekleştirilir. Ancak ağırlık güncelleme adımlarında doğruluğu korumak için model ağırlıklarının ana kopyası FP32 biçiminde tutulur. Aynı donanım kısıtları içinde daha büyük modelleri veya batch size değerlerini işleyebilirsin.

Mixed precision FP16 training benefits

Karma hassasiyetli eğitimi uygulamak için eğitim betiklerini değiştirmen ve donanımının (GPU'lar gibi) bunu desteklediğinden emin olman gerekir. PyTorch ve TensorFlow gibi birçok modern derin öğrenme çatısı karma hassasiyet için yerleşik destek sunar.

YOLO26 ile çalışırken karma hassasiyetli eğitim basittir: AMP varsayılan olarak zaten açıktır (amp=True). CUDA GPU üzerinde YOLO, eğitimin başında tek seferlik bir yetenek denetimi gerçekleştirir ve denetim başarısız olursa tam FP32'ye geri döner; CPU ve Apple silicon üzerinde AMP tamamen atlanır. FP32'yi zorlamak için amp=False değerini ayarla.

Önceden Eğitilmiş Ağırlıklar#

Önceden eğitilmiş ağırlıkları kullanmak, modelinin eğitim sürecini hızlandırmanın akıllı bir yoludur. Önceden eğitilmiş ağırlıklar, büyük veri kümeleri üzerinde zaten eğitilmiş modellerden gelir ve modeline avantajlı bir başlangıç sağlar. Transfer öğrenimi, önceden eğitilmiş modelleri yeni ve ilişkili görevlere uyarlar. Önceden eğitilmiş bir modeli ince ayarlamak, bu ağırlıklarla başlayıp belirli veri kümen üzerinde eğitime devam etmeyi içerir. Model temel özellikleri sağlam bir şekilde anlayarak başladığı için bu eğitim yöntemi daha kısa eğitim süreleri ve çoğunlukla daha iyi performans sağlar.

Önceden eğitilmiş ağırlıklar model bağımsız değişkeninden gelir; bu nedenle model=yolo26n.pt zaten COCO ağırlıklarıyla başlar. pretrained parametresi bu ağırlıkların korunup korunmayacağını (True, varsayılan), atılıp atılmayacağını (False) veya başka bir checkpoint ile değiştirilip değiştirilmeyeceğini (pretrained=path/to/best.pt) kontrol eder. *.yaml modeli üzerinde pretrained=True ayarlanması, ağırlıkları tek başına indirmez. Eksiksiz transfer öğrenimi iş akışı için Özel Veri Kümesinde YOLO İnce Ayarı Nasıl Yapılır bölümüne bak.

Büyük Bir Veri Kümesiyle Çalışırken Dikkate Alınabilecek Diğer Teknikler#

Büyük bir veri kümesiyle çalışırken dikkate alabileceğin birkaç başka teknik vardır:

  • Öğrenme hızı zamanlayıcıları: Öğrenme hızı zamanlayıcılarını uygulamak, eğitim sırasında öğrenme hızını dinamik olarak ayarlar. İyi ayarlanmış bir öğrenme hızı, modelin minimum noktaları aşmasını önleyebilir ve kararlılığı artırabilir. YOLO26 eğitilirken lrf parametresi, nihai öğrenme hızını başlangıç hızının bir kesri olarak ayarlayarak öğrenme hızı zamanlamasını yönetmeye yardımcı olur. Katman başına öğrenme hızları veya gradyan kırpma gibi hiçbir bağımsız değişkenin sunmadığı davranışlar için eğitimci sınıfını alt sınıflandır.
  • Dağıtık eğitim: Büyük veri kümelerini işlerken dağıtık eğitim oyunun kurallarını değiştirebilir. Eğitim iş yükünü birden çok GPU veya makineye dağıtarak eğitim süresini azaltabilirsin. Bu yaklaşım, önemli hesaplama kaynaklarına sahip kurumsal ölçekli projeler için özellikle değerlidir.
  • Channels-last bellek formatı: CUDA eğitimi, PyTorch 1.11 ve daha yeni sürümlerde (daha yavaş ölçüldüğü Windows hariç) otomatik olarak daha hızlı olan NHWC bellek düzenini kullanır. Zorlamak için channels_last=True ayarını yap veya NCHW tutmak için channels_last=False ayarını yap; PyTorch 1.10 ve daha eski sürümler, CPU ve MPS varsayılan olarak NCHW kalır.

Eğitilecek Epoch Sayısı#

Bir model eğitilirken epoch, tüm eğitim veri kümesinden bir kez eksiksiz geçişi ifade eder. Bir epoch sırasında model, eğitim kümesindeki her örneği bir kez işler ve öğrenme algoritmasına göre parametrelerini günceller. Modelin zaman içinde parametrelerini öğrenmesi ve iyileştirmesi için genellikle birden çok epoch gerekir.

Sık karşılaşılan bir soru, modeli eğitmek için epoch sayısının nasıl belirleneceğidir. İyi bir başlangıç noktası 300 epoch'tur. Model erken aşamada aşırı öğrenirse epoch sayısını azaltabilirsin. 300 epoch sonrasında [aşırı öğrenme](https://ultralytics-translation-0.invalid oluşmazsa eğitimi 600, 1200 veya daha fazla epoch'a uzatabilirsin.

Ancak ideal epoch sayısı, veri kümenin boyutuna ve proje hedeflerine göre değişebilir. Daha büyük veri kümeleri modelin etkili bir şekilde öğrenmesi için daha fazla epoch gerektirebilirken, daha küçük veri kümelerinde aşırı öğrenmeyi önlemek için daha az epoch gerekebilir. YOLO26 için eğitim betiğinde epochs parametresini ayarlayabilirsin.

Erken Durdurma#

Erken durdurma, model eğitimini optimize etmek için değerli bir tekniktir. Doğrulama performansını izleyerek modelin gelişimi durduğunda eğitimi durdurabilirsin. Böylece hesaplama kaynaklarından tasarruf edebilir ve aşırı öğrenmeyi önleyebilirsin.

Bu süreç, eğitimi durdurmadan önce doğrulama metriklerinde bir iyileşme beklenilecek epoch sayısını belirleyen bir patience parametresinin ayarlanmasını içerir. Modelin performansı bu epoch'lar içinde iyileşmezse zaman ve kaynak israfını önlemek için eğitim durdurulur.

Early stopping to prevent model overfitting

YOLO26 için eğitim yapılandırmanda patience parametresini ayarlayarak erken durdurmayı etkinleştirebilirsin. Örneğin patience=5, doğrulama metriklerinde art arda 5 epoch boyunca iyileşme olmazsa eğitimin duracağı anlamına gelir. Bu yöntemi kullanmak, aşırı hesaplama yapmadan eğitim sürecinin verimli kalmasını ve optimum performansa ulaşmasını sağlar.

Bulut ve Yerel Eğitim Arasında Seçim Yapma#

Modelini eğitmek için iki seçeneğin vardır: bulut eğitimi ve yerel eğitim.

Bulut eğitimi ölçeklenebilirlik ve güçlü donanım sunar; büyük veri kümelerini ve karmaşık modelleri işlemek için idealdir. Google Cloud, AWS ve Azure gibi platformlar yüksek performanslı GPU ve TPU'lara isteğe bağlı erişim sağlayarak eğitim sürelerini kısaltır ve daha büyük modellerle deneyler yapmana olanak tanır. Ancak bulut eğitimi, özellikle uzun süreler için pahalı olabilir; veri aktarımı da maliyetleri ve gecikmeyi artırabilir.

Yerel eğitim daha fazla kontrol ve özelleştirme sağlar; ortamını özel ihtiyaçlarına göre uyarlamana ve devam eden bulut maliyetlerinden kaçınmana olanak tanır. Uzun vadeli projeler için daha ekonomik olabilir ve verilerin şirket içinde kaldığı için daha güvenlidir. Ancak yerel donanımın kaynakları sınırlı olabilir ve bakım gerektirebilir; bu da büyük modeller için daha uzun eğitim sürelerine yol açabilir.

Optimizer Seçimi#

Optimizer, modelin ne kadar iyi performans gösterdiğini ölçen kayıp işlevini en aza indirmek için sinir ağının ağırlıklarını ayarlayan bir algoritmadır. Daha basit ifadeyle optimizer, hataları azaltmak için parametrelerini değiştirerek modelin öğrenmesine yardımcı olur. Doğru optimizer'ı seçmek, modelin ne kadar hızlı ve doğru öğrendiğini doğrudan etkiler.

Model performansını iyileştirmek için optimizer parametrelerine ince ayar da yapabilirsin. Öğrenme hızını ayarlamak, parametreleri güncellerken adımların boyutunu belirler. Kararlılık için orta düzeyde bir öğrenme hızıyla başlayıp uzun vadeli öğrenmeyi iyileştirmek üzere zamanla kademeli olarak azaltabilirsin. Ayrıca momentum değerini ayarlamak, geçmiş güncellemelerin mevcut güncellemeler üzerindeki etkisini belirler. Momentum için yaygın bir değer yaklaşık 0.9'dur. Bu değer genellikle iyi bir denge sağlar.

Yaygın Optimizer'lar#

Farklı optimizer'ların çeşitli güçlü ve zayıf yönleri vardır. Şimdi birkaç yaygın optimizer'a kısaca göz atalım.

  • SGD (Stokastik Gradyan İnişi):

    • Model parametrelerini, kayıp işlevinin parametrelere göre gradyanını kullanarak günceller.
    • Basit ve verimlidir ancak yakınsaması yavaş olabilir ve yerel minimumlarda takılabilir.
  • Adam (Uyarlamalı Moment Tahmini):

    • Momentum kullanan SGD ile RMSProp'un avantajlarını birleştirir.
    • Her parametrenin öğrenme hızını, gradyanların birinci ve ikinci moment tahminlerine göre ayarlar.
    • Gürültülü veriler ve seyrek gradyanlar için uygundur.
    • Verimlidir ve genellikle daha az ayar gerektirir. Daha kısa eğitim çalıştırmaları için YOLO26'nın optimizer=auto değeri, doğrudan Adam yerine onunla yakından ilişkili AdamW'yi seçer.
  • RMSProp (Karekök Ortalama Karesi Yayılımı):

    • Her parametrenin öğrenme hızını, gradyanı yakın tarihli gradyan büyüklüklerinin hareketli ortalamasına bölerek ayarlar.
    • Gradyanların yok olması sorununu ele almaya yardımcı olur ve tekrarlayan sinir ağları için etkilidir.
  • MuSGD (Muon + SGD hibriti):

    • Büyük ölçekli eğitimde kararlılığı artırmak için SGD tarzı güncellemeleri Muon'dan ilham alan davranışla birleştirir.
    • SGD benzeri genelleme istediğinde ancak vanilla SGD'den daha yumuşak bir yakınsamaya ihtiyaç duyduğunda iyi bir seçimdir.
    • YOLO26 eğitim tarifleri için özellikle uygundur; emin değilsen optimizer=auto ile başla ve veri kümen üzerinde MuSGD ile karşılaştır.

YOLO26 için optimizer parametresi SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam ve RMSProp dahil olmak üzere çeşitli optimizer'lar arasından seçim yapmana olanak tanır. Alternatif olarak, eğitim yineleme sayısına göre otomatik seçim için auto olarak ayarlayabilirsin.

yolo train model=yolo26n.pt data=coco8.yaml optimizer=MuSGD

Toplulukla Bağlantı Kurma#

Bilgisayarlı görü meraklılarından oluşan bir topluluğun parçası olmak, sorunları çözmene ve daha hızlı öğrenmene yardımcı olabilir. Bağlantı kurmanın, yardım almanın ve fikirlerini paylaşmanın birkaç yolu aşağıda verilmiştir.

Topluluk Kaynakları#

  • GitHub Issues: YOLO26 GitHub deposunu ziyaret et ve soru sormak, hataları bildirmek ve yeni özellikler önermek için Issues sekmesini kullan. Topluluk ve geliştiriciler oldukça aktiftir ve yardım etmeye hazırdır.
  • Ultralytics Discord Sunucusu: Diğer kullanıcılar ve geliştiricilerle sohbet etmek, destek almak ve deneyimlerini paylaşmak için Ultralytics Discord sunucusuna katıl.

Resmî Belgeler#

  • Ultralytics YOLO26 Belgeleri: Çeşitli bilgisayarlı görü projeleri hakkında ayrıntılı kılavuzlar ve yararlı ipuçları için resmî YOLO26 belgelerine göz at.

Bu kaynakları kullanmak, zorlukları çözmene ve bilgisayarlı görü topluluğundaki en yeni trendler ile uygulamalardan haberdar olmana yardımcı olur.

Önemli Çıkarımlar#

Bilgisayarlı görü modellerini eğitmek; iyi uygulamaları takip etmeyi, stratejilerini optimize etmeyi ve ortaya çıkan sorunları çözmeyi gerektirir. Batch size değerlerini ayarlama, karma hassasiyet eğitimi ve önceden eğitilmiş ağırlıklarla başlama gibi teknikler, modellerinin daha iyi çalışmasını ve daha hızlı eğitilmesini sağlayabilir. Alt küme eğitimi ve erken durdurma gibi yöntemler zaman ve kaynak tasarrufu yapmana yardımcı olur. Toplulukla bağlantıda kalmak ve yeni trendleri takip etmek, model eğitimi becerilerini geliştirmeye devam etmene yardımcı olur.

SSS#

  • GPU kullanımını iyileştirmek için batch parametresini GPU'nun desteklediği maksimum boyuta ayarla. Tek bir hızlandırıcıda batch=-1, modeli profiller ve yaklaşık %60 bellek kullanımını hedefler. CPU ve Apple silicon üzerinde batch=16 değerine geri döner; çok GPU'lu çalıştırmalarda cihaz sayısının katı olan açık bir global batch size gerekir. Daha fazla bilgi için Train mode arguments bölümüne bak.

  • Karma hassasiyetli eğitim, hesaplama hızı ile hassasiyeti dengelemek için hem 16 bit (FP16) hem de 32 bit (FP32) kayan nokta türlerini kullanır. YOLO26'da bu özellik amp=True aracılığıyla varsayılan olarak etkinleştirilir; FP32'yi zorlamak için amp=False değerini ayarla. CPU ve Apple silicon üzerinde AMP atlanır. Ayrıntılar için Train mode arguments bölümüne bak.

  • Çok ölçekli eğitim, farklı boyutlardaki görüntülerle eğitim yaparak modelin farklı ölçek ve uzaklıklara daha iyi genelleme yapmasını sağlar ve performansı artırır. YOLO26 bunun için iki ayrı parametre sunar. scale=0.5, 0.5 ile 1.5 arasında bir yakınlaştırma faktörü örnekler ve ardından sabit imgsz boyutuna geri doldurur veya kırpar; multi_scale=0.25 ise her batch'te imgsz değerinin kendisini stride adımlarıyla değiştirir. Ayarlar ve daha fazla ayrıntı için Train mode belgelerine göz at.

  • Önceden eğitilmiş ağırlıkları kullanmak, temel görsel özelliklere zaten aşina olan bir modelden yararlanarak eğitimi büyük ölçüde hızlandırabilir ve model doğruluğunu artırabilir. Ağırlıkları model bağımsız değişkeni üzerinden, örneğin model=yolo26n.pt biçiminde yükle; ardından pretrained, bu ağırlıkların korunup korunmayacağına (True, varsayılan), atılıp atılmayacağına (False) veya başka bir checkpoint ile değiştirilip değiştirilmeyeceğine (pretrained=path/to/best.pt, ağırlıkları bir model=*.yaml derlemesine aktarma yolu) karar verir. Daha fazla bilgi için Train mode belgelerine bak.

  • Epoch sayısı, model eğitimi sırasında eğitim veri kümesinden gerçekleştirilen eksiksiz geçişleri ifade eder. Tipik bir başlangıç noktası 300 epoch'tur. Modelin erken aşamada aşırı öğrenirse bu sayıyı azaltabilirsin. Alternatif olarak, aşırı öğrenme gözlenmiyorsa eğitimi 600, 1200 veya daha fazla epoch'a uzatabilirsin. Bunu YOLO26'da ayarlamak için eğitim betiğinde epochs parametresini kullan. İdeal epoch sayısını belirleme konusunda ek öneriler için epoch sayısı bölümüne bak.

Yorumlar