2016-03-24 18 views
20

Khi lưu một trạm kiểm soát, TensorFlow thường lưu một tệp meta: my_model.ckpt.meta. Có gì trong tập tin đó, chúng ta có thể khôi phục lại một mô hình ngay cả khi chúng ta xóa nó và loại thông tin nào chúng ta đã mất nếu chúng ta khôi phục lại một mô hình không có tệp meta?Siêu tệp điểm kiểm tra TensorFlow là gì?

Trả lời

25

Tệp này chứa một số MetaGraphDef protocol buffer được tuần tự hóa. MetaGraphDef được thiết kế dưới dạng định dạng tuần tự bao gồm tất cả thông tin cần thiết để khôi phục quy trình đào tạo hoặc suy luận (bao gồm GraphDef mô tả luồng dữ liệu và chú thích bổ sung mô tả biến, đường dẫn đầu vào và thông tin liên quan khác). Ví dụ: MetaGraphDef được sử dụng bởi TensorFlow Serving để bắt đầu dịch vụ suy luận dựa trên mô hình được đào tạo của bạn. Chúng tôi đang nghiên cứu các công cụ khác có thể sử dụng MetaGraphDef để đào tạo.

Giả sử bạn vẫn có mã Python cho mô hình của mình, bạn không cần MetaGraphDef để khôi phục mô hình, vì bạn có thể tạo lại tất cả thông tin trong MetaGraphDef bằng cách thực thi lại mã Python xây dựng mô hình. Để khôi phục từ một trạm kiểm soát, bạn chỉ cần các tệp điểm kiểm tra có chứa các trọng số được đào tạo, được viết định kỳ vào cùng một thư mục.

+4

Có cách nào để tải chúng bằng api C++ không? Tôi đang chạy vào rắc rối thực hiện đồ thị trong C + + vì các biến không được khởi tạo với Protos GraphDef thường xuyên. –

+0

Cảm ơn bạn đã giải thích và giúp ích rất nhiều. – tobe

+0

Xin chào @mrry, khi tôi lưu nhiều điểm kiểm tra với các bước chung, kết quả là nhiều '' 'name-step.cpkt''' và' '' name-step.cpkt.meta''', nhưng chỉ có 1 '' 'checkpoint'''. File '' 'checkpoint''' này là gì và tại sao không có nhiều tập tin này như' '' name-step.cpkt'''? – tnq177

Các vấn đề liên quan