anlamlı bir şekilde bu değerleri ayarlamak için, size verilerle ilgili bilgilerin birkaç bit olması gerekir Bu miktarı T
olarak adlandırın.
2. Toplu iş boyutu boyutu tek bir toplu işlemde birlikte işlenen eğitim örneklerinin sayısı, bu genellikle 'train_val.prototxt'
'daki giriş veri katmanı tarafından ayarlanır. Örneğin, this file'da tren grubu boyutu 256 olarak ayarlanmıştır. Bu miktarı tb
ile gösterelim.
3. Doğrulama seti boyutu modelinizi doğrulamak için bir kenara koyduğunuz toplam örnek sayısı, hadi bunu V
ile belirtelim.
4. Doğrulama kümesi boyutu değeri, TEST aşaması için batch_size
olarak ayarlanmıştır. this example'da 50'ye ayarlanmıştır. Buna vb
diyelim.
Şimdi, antrenman sırasında, ağınızın her zaman bir arada performansının önyargılı bir tahminini almak istersiniz. Bunu yapmak için, ağınızı test_iter
yinelemeleri için doğrulama kümesinde çalıştırırsınız. Doğrulama setinin tamamını kapsayacak şekilde test_iter = V/vb
olmalıdır.
Bu tahmini ne sıklıkla almak istersiniz? Bu gerçekten sana bağlı. Çok büyük bir doğrulama setiniz ve yavaş bir ağınız varsa, çok sık onaylanmak eğitim sürecini çok uzun sürebilir. Öte yandan, yeterince doğru bir şekilde doğrulanmamak, antrenman sürecinizin ne zaman ve ne zaman bir araya gelip gelmediğini fark etmenizi engelleyebilir. test_interval
, hangi sıklıkla doğruladığınızı belirler: genellikle büyük ağlar için test_interval
değerini 5K olarak ayarladığınızda, daha küçük ve daha hızlı ağlar için daha düşük değerler seçebilirsiniz. Yine hepsi size kalmış.
Tüm antrenman setini (“epoch” işlemini tamamlamak) tamamlamak için T/tb
yinelemelerini çalıştırmanız gerekir. Genellikle birkaç dönem için bir tren, bu nedenle max_iter=#epochs*T/tb
.
iter_size
ile ilgili olarak: Bu, çeşitli eğitim mini partileri üzerinde ortalama gradyanlara izin verir, bkz. this thread daha fazla bilgi.
Başka bir meta parametre, weight_decay'dir. Bunu nasıl ayarlayacağınıza [bu konu] (http://stackoverflow.com/q/32177764/1714410) bakın. – Shai