TRAN Ngoc Thach
1 min readApr 20, 2023

--

Mặc định thì Training với Validation được tiến hành đồng thời. Chiến lược này có điểm lợi cũng như điểm không hay. Phần Pros/Cons anh có ghi rõ.

Sửa code khiến cho Checkpoint được lưu lại toàn bộ (chứ ko phải vài Checkpoint cuối cùng). Khi đã có tập hợp các Checkpoints rồi thì chạy Validations trên tập đó.

Việc sửa code không phải là nhằm mang đến 100% lợi ích. Mà nó giúp ích cho một số trường hợp thôi, ví dụ Colab chỉ cho chạy 1 cell mỗi lần, như vậy khó tiến hành Validation trong lúc Training.

Workaround thì đủ cách: ví dụ như tìm cách chạy nhiều cells cùng lúc; hoặc tạo thread/process riêng cho Training/Validation. Tuy nhiên, việc này nó không được thiết kế cho Colab nên chạy hên xui. Với việc sửa code như trong bài thì ta có thể tiến hành Validation cho toàn bộ 100% Checkpoints trên môi trường Colab.

Nói cách khác: nếu em tự quản lý một server farm riêng thì chả cần sửa code gì: một server sẽ Training, nó ghi Checkpoint đến 1 ổ cứng chia sẻ, rồi trong khi đó một server khác sẽ đọc các Checkpoint này rồi tiến hành Validation. 2 servers này không ảnh hưởng lẫn nhau...

--

--

TRAN Ngoc Thach
TRAN Ngoc Thach

Responses (1)