2017-01-02 32 views
18

Chương trình tôi đang viết liên quan đến việc chuyển đổi giữa các kiểu máy trong thời gian chạy.Lưu trữ các mô hình lưu lượng trong bộ nhớ

Tôi hiện đang sử dụng Trình tiết kiệm để lưu/tải các mô hình từ đĩa như được chỉ định tại đây: https://www.tensorflow.org/api_docs/python/state_ops/saving_and_restoring_variables#Saver.

Các mô hình khá nhỏ và có thể được lưu trữ trong bộ nhớ, vì vậy tôi đã tự hỏi liệu có ai biết cách lưu trữ và khôi phục các mô hình này trong bộ nhớ thay vì lưu chúng vào đĩa hay không.

Tôi đã cố sửa đổi nguồn lưu lượng để lưu mô hình vào bộ nhớ tuy nhiên gen_io_ops dường như được tạo trong thời gian biên dịch. Một cách khác có thể là sử dụng các tệp ánh xạ bộ nhớ. Có ai biết một cách dễ dàng hơn?

+4

điều gì về việc lưu vào tmpfs? –

Trả lời

1

Tôi sẽ chỉ có hai phiên khác nhau với biểu đồ tính toán của riêng chúng. Ngoài ra, bạn chỉ có thể sao chép đồ thị tính toán (hai bản sao của các biến, hoạt động, v.v.) trong cùng một phiên. Sau đó, bạn sẽ gọi số sess.run(comp1 if useCompOne else comp2), tuy nhiên bạn muốn thiết lập.

+1

Cách tiếp cận này (giả sử cả hai phiên đang hoạt động) sẽ giữ cho các biến đó ở đâu, nghĩa là trong bộ nhớ GPU; nếu bộ nhớ GPU là một nút cổ chai (mà nó thường là) OP sẽ cần một giải pháp để di chuyển dữ liệu phiên không hoạt động từ GPU đến RAM hệ thống rẻ hơn/lớn hơn. – Peteris

+1

Rất đúng. Tôi đã làm việc ra khỏi bình luận của mình: "Các mô hình khá nhỏ và có thể được lưu trữ trong bộ nhớ". Tôi cho rằng bạn có thể có một bản sao của cả hai bộ trên RAM, và một bộ tính toán trên bộ nhớ GPU, và sau đó viết một 'chuyển' op để sao chép các giá trị hiện tại từ một gpu để ram và viceversa nếu đó là một cái gì đó mà cần thiết , nhưng tôi sẽ xem xét các tùy chọn khác khi chúng không còn phù hợp với trí nhớ nữa. –

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