บันทึกแบบจำลองทุก ๆ 10 epochs tensorflow.keras v2


10

ฉันใช้ keras หมายถึง submodule ใน tensorflow v2 ฉันกำลังฝึกอบรมโมเดลของฉันโดยใช้fit_generator()วิธีการ ฉันต้องการบันทึกโมเดลของฉันทุก 10 ครั้ง ฉันจะบรรลุสิ่งนี้ได้อย่างไร

ใน Keras (ไม่ใช่เป็น submodule of tf) ฉันสามารถให้ModelCheckpoint(model_savepath,period=10)ได้ แต่ใน tf v2 พวกเขาได้เปลี่ยนสิ่งนี้เป็นModelCheckpoint(model_savepath, save_freq)ตำแหน่งที่save_freqสามารถ'epoch'บันทึกได้ในทุกกรณี ถ้าsave_freqเป็นจำนวนเต็มแบบจำลองจะถูกบันทึกหลังจากประมวลผลตัวอย่างจำนวนมากแล้ว แต่ฉันต้องการให้เป็นหลังจาก 10 ยุค ฉันจะบรรลุสิ่งนี้ได้อย่างไร

คำตอบ:


5

การใช้tf.keras.callbacks.ModelCheckpointการใช้งานและผ่านการโต้เถียงพิเศษsave_freq='epoch'period=10

แม้ว่าสิ่งนี้จะไม่ได้รับการบันทึกไว้ในเอกสารอย่างเป็นทางการแต่ก็เป็นวิธีการทำเช่นนั้น (โปรดสังเกตว่ามันเป็นเอกสารที่คุณสามารถผ่านperiodได้


ฉันได้รับคำเตือนด้านล่าง: WARNING:tensorflow:'period' argument is deprecated. Please use 'save_freq' to specify the frequency in number of samples seen.ดังนั้นฉันเดาว่าคุณลักษณะนี้กำลังจะออกในไม่ช้า ในกรณีนั้นฉันจะทำสิ่งนี้ได้อย่างไร
Nagabhushan SN

2
ฉันเชื่อว่าทางเลือกเดียวคือการคำนวณจำนวนตัวอย่างต่อยุคและผ่านจำนวนเต็มนั้นไปคูณจำนวนsave_freqครั้งที่คุณต้องการเป็นช่วงเวลาระหว่างการบันทึก
bluesummers

@bluesummers "ตัวอย่างต่อกาล" นี่ควรเป็นขนาดชุดของฉันใช่ไหม
Tom

ตัวอย่างต่อยุคคือจำนวนตัวอย่างที่คุณต้องการผ่านเครือข่ายระหว่างจุดตรวจ - ซึ่งหมายความว่าถ้าคุณมี 100 ตัวอย่าง (ตัวอย่าง! = แบทช์แบทช์เป็นกลุ่มตัวอย่าง) และคุณใส่ 400 มันจะบันทึกทุก 4 ยุค
bluesummers

1
ฉันมีคำถามเดียวกันกับที่ @NagabhushanSN ถาม ฉันคำนวณจำนวนตัวอย่างต่อยุคเพื่อคำนวณจำนวนตัวอย่างหลังจากนั้นฉันต้องการบันทึกโมเดล แต่ดูเหมือนจะไม่ทำงาน ขนาดชุด = 64 สำหรับกรณีทดสอบฉันใช้ 10 ขั้นตอนต่อยุค ถ้าฉันต้องการบันทึกโมเดลทุก ๆ 3 epochs จำนวนตัวอย่างคือ 64 * 10 * 3 = 1920 ฉันใช้มันสำหรับ sav_freq แต่ผลลัพธ์แสดงให้เห็นว่าแบบจำลองนั้นถูกบันทึกไว้ในยุค 1 ตอนที่ 2 ตอนที่ 9 ตอนที่ 11 ตอนที่ 14 และตอนที่ยังทำงานอยู่ ไม่สามารถเข้าใจได้ periodตัวเลือกดูเหมือนว่าจะทำงานได้ดี แต่มีข้อความว่าจะเลิกใช้
beeprogrammer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.