Lưu mô hình cứ sau 10 epochs tenorflow.keras v2


10

Tôi đang sử dụng các máy ảnh được định nghĩa là mô hình con trong tenorflow v2. Tôi đang đào tạo mô hình của mình bằng fit_generator()phương pháp. Tôi muốn lưu mô hình của tôi cứ sau 10 epoch. Làm thế nào tôi có thể đạt được điều này?

Trong Keras (không phải là mô hình con của tf), tôi có thể cung cấp ModelCheckpoint(model_savepath,period=10). Nhưng trong tf v2, họ đã thay đổi này để ModelCheckpoint(model_savepath, save_freq)nơi save_freqcó thể 'epoch', trong đó mô hình trường hợp được lưu mọi thời đại. Nếu save_freqlà số nguyên, mô hình được lưu sau khi rất nhiều mẫu đã được xử lý. Nhưng tôi muốn nó được sau 10 kỷ nguyên. Làm thế nào tôi có thể đạt được điều này?

Câu trả lời:


5

Sử tf.keras.callbacks.ModelCheckpointdụng save_freq='epoch'và vượt qua một đối số phụ period=10.

Mặc dù điều này không được ghi lại trong các tài liệu chính thức , nhưng đó là cách để làm điều đó (lưu ý rằng nó được ghi lại rằng bạn có thể vượt qua period, chỉ không giải thích những gì nó làm).


Tôi nhận được cảnh báo dưới đây: WARNING:tensorflow:'period' argument is deprecated. Please use 'save_freq' to specify the frequency in number of samples seen.Vì vậy, tôi đoán, tính năng này sẽ sớm ra mắt. Trong trường hợp đó, làm thế nào tôi có thể đạt được điều này?
Nagabhushan SN

2
Tôi tin rằng giải pháp thay thế duy nhất là tính toán số lượng ví dụ trên mỗi epoch và chuyển số nguyên đó save_freqgấp nhiều lần số epoch bạn muốn làm khoảng giữa các lần lưu
bluesummers

@bluesummers "ví dụ cho mỗi epoch" Đây phải là cỡ lô của tôi, phải không?
Tom

Ví dụ cho mỗi epoch là số lượng mẫu bạn muốn truyền qua mạng giữa các điểm kiểm tra - điều này có nghĩa là nếu bạn có 100 mẫu (mẫu! = Lô, lô là một lô mẫu) và bạn đặt 400 mẫu, nó sẽ lưu cứ sau 4 epoch
bluesummers

1
Tôi đã có câu hỏi tương tự như được hỏi bởi @NagabhushanSN. Tôi đã tính số lượng mẫu trên mỗi epoch để tính số lượng mẫu mà sau đó tôi muốn lưu mô hình nhưng dường như nó không hoạt động. Kích thước hàng loạt = 64, đối với trường hợp thử nghiệm, tôi đang sử dụng 10 bước cho mỗi epoch. Nếu tôi muốn lưu mô hình cứ sau 3 epoch, số lượng mẫu là 64 * 10 * 3 = 1920. Tôi sử dụng điều đó cho sav_freq nhưng kết quả đầu ra cho thấy mô hình được lưu trên epoch 1, epoch 2, epoch 9, epoch 11, epoch 14 và vẫn đang chạy. Không thể hiểu ý nghĩa của nó. periodTùy chọn có vẻ hoạt động tốt nhưng với thông báo rằng nó sẽ không được chấp nhận.
beeprogrammer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.