Her 10 çağda modeli kaydedin tensorflow.keras v2


10

Tensorflow v2'de alt modül olarak tanımlanan keras kullanıyorum. Modelimi fit_generator()yöntem kullanarak eğitiyorum . Modelimi her 10 çağda bir kaydetmek istiyorum. Bunu nasıl başarabilirim?

Keras'ta (tf'nin bir alt modülü olarak değil) verebilirim ModelCheckpoint(model_savepath,period=10). Ancak tf v2'de, bunu ModelCheckpoint(model_savepath, save_freq)nerede save_freqolabileceklerine değiştirdiler 'epoch', bu durumda model her çağda kaydedilir. Eğer save_freqtam sayıdır, model birçok örnekleri işlendikten kadar sonra kaydedilir. Ama 10 çağdan sonra olmasını istiyorum. Bunu nasıl başarabilirim?

Yanıtlar:


5

Kullanılması tf.keras.callbacks.ModelCheckpointkullanımı save_freq='epoch've fazladan argüman geçmesi period=10.

Bu resmi belgelerde belgelenmese de , bunu yapmanın yolu budur (geçebileceğiniz belgelendiğine dikkat edin, periodne yaptığını açıklamıyor).


Aşağıdaki uyarıyı WARNING:tensorflow:'period' argument is deprecated. Please use 'save_freq' to specify the frequency in number of samples seen.alıyorum : Yani, sanırım, bu özellik yakında çıkacak. Bu durumda, bunu nasıl başarabilirim?
Nagabhushan SN

2
Tek alternatifin, dönem başına örnek sayısını hesaplamak ve bu tamsayıyı, save_freqtasarruflar arasındaki aralık olarak istediğiniz dönem sayısının
katlarına çıkarmak olduğuna inanıyorum

@bluesummers "dönem başına örnekler" Bu benim parti boyutum olmalı, değil mi?
Tom

Dönem başına örnek, kontrol noktaları arasında ağdan kaç örnek geçmek istediğinizdir - bu, 100 örneğiniz varsa (örnekler! = Parti, parti bir numune
grubudur

1
@NagabhushanSN tarafından sorulanla aynı soruya sahiptim. Modeli kaydetmek istediğim örnek sayısını hesaplamak için dönem başına örnek sayısını hesapladım, ancak işe yaramıyor gibi görünüyor. Parti büyüklüğü = 64, test durumu için her dönem için 10 adım kullanıyorum. Modeli her 3 dönemde kaydetmek istersem örnek sayısı 64 * 10 * 3 = 1920'dir. Bunu sav_freq için kullanıyorum ancak çıktı, modelin dönem 1, dönem 2, dönem 9, dönem 11, dönem 14'e kaydedildiğini ve hala çalıştığını gösteriyor. Bunu anlayamıyorum. periodseçeneği iyi çalışıyor gibi görünüyor, ancak kullanımdan kaldırılacağı mesajı ile.
beeprogrammer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.