brainscript epochSize in CNTK
Python kullanıcıları için buraya bakın.
Her dönemdeki etiket örneklerinin (dinamik eksen boyunca tensorlar) sayısı. epochSize
in CNTK, daha sonra belirli ek eylemlerin gerçekleştirildiği etiket örneklerinin sayısıdır.
- denetim noktası modelini kaydetme (eğitim buradan yeniden başlatılabilir)
- çapraz doğrulama
- öğrenme hızı denetimi
- minibatch ölçeklendirme
Etiket örneklerinin sayısının tanımının minibatchSize (minibatch_size_in_samples) için kullanılan örnek sayısına benzer olduğunu unutmayın. öğesinin epochSize
tanımı, giriş örnekleri değil etiket örnekleri olan tanımından minitbatchSize
epochSize
farklıdır.
Bu nedenle, önemli olan sıralı veriler için örnek, bir dizinin tek bir öğesidir.
Bu nedenle, CNTK'lerepochSize
bir diziye değil, minibatch'i oluşturan dizi etiketlerindeki sıra öğelerinin sayısına başvurur.
Aynı derecede önemlidir, giriş örnekleri değil etiket örnekleridir ve dizi başına etiket sayısı mutlaka giriş örneği sayısı değildir. Örneğin, dizi başına bir etikete sahip olmak ve her dizi için çok sayıda örneğe sahip olmak mümkündür (bu durumda epochSize
dizi sayısı gibi davranır) ve bir dizide örnek başına bir etiket olması mümkündür; bu durumda epochSize
minibatchSize
her örnek (dizi değil) sayılır.
Daha küçük veri kümesi boyutları epochSize
için genellikle veri kümesi boyutuna eşit olarak ayarlanır. BrainScript'te bunu belirtmek için 0 belirtebilirsiniz. Python'da bunun için belirtebilirsiniz cntk.io.INFINITELY_REPEAT
. Yalnızca Python'da, tüm veri boyutunun bir kez geçirilmesinden sonra işlemenin durdurulacağı yere de ayarlayabilirsiniz cntk.io.FULL_DATA_SWEEP
.
Büyük veri kümeleri için, denetim noktası belirleyerek epochSize seçiminizi yönlendirmek isteyebilirsiniz. Örneğin, güç kesintisi veya ağ arızası durumunda en fazla 30 dakikalık hesaplamayı kaybetmek istiyorsanız, yaklaşık her 30 dakikada bir (eğitimin sürdürülebileceği) bir denetim noktası oluşturulmasını istersiniz. İşlemin tamamlanması yaklaşık 30 dakika süren örnek sayısını seçin epochSize
.