Tôi đang sử dụng Keras với Tensorflow làm phụ trợ.Keras + Tensorflow và Multiprocessing in Python
Tôi đang cố gắng lưu mô hình trong quy trình chính của mình và sau đó tải/chạy (tức là gọi model.predict
) trong một quy trình khác.
Tôi hiện đang thử phương pháp ngây thơ từ tài liệu để lưu/tải mô hình: https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model.
Vì vậy, về cơ bản:
model.save()
trong quá trình chínhmodel = load_model()
trong quá trình conmodel.predict()
trong quá trình con
Tuy nhiên, nó chỉ đơn giản là treo trên load_model
gọi.
Tìm kiếm xung quanh Tôi đã phát hiện ra câu trả lời có khả năng liên quan này cho thấy rằng Keras chỉ có thể được sử dụng trong một quá trình: using multiprocessing with theano nhưng không chắc chắn nếu điều này là đúng (dường như không thể tìm thấy nhiều về điều này).
Có cách nào để hoàn thành mục tiêu của tôi không? Mô tả mức cao hoặc ví dụ ngắn được đánh giá cao.
Lưu ý: Tôi đã thử các cách tiếp cận dọc theo đường truyền biểu đồ cho quy trình nhưng không thành công vì có vẻ như biểu đồ tensorflow không thể chọn được (bài đăng SO liên quan ở đây: Tensorflow: Passing a session to a python multiprocess). Nếu có thực sự là một cách để vượt qua các đồ thị/mô hình tensorflow cho quá trình con sau đó tôi mở cho điều đó là tốt.
Cảm ơn!
Marcin, cảm ơn bạn rất nhiều vì đã trả lời. Câu hỏi phụ: câu hỏi SO ở trên bắt nguồn từ mong muốn của tôi để song song dự đoán cho một mô hình trên nhiều gpus. Tôi đã hỏi một câu hỏi SO về điều này một chút trước đây mà không có may mắn: http://stackoverflow.com/questions/42409884/keras-tensorflow-prediction-on-multiple-gpus. Anh có phiền không? Cảm ơn bạn trước. Hãy cho tôi biết nếu cần thêm chi tiết. –
Tôi sẽ xem xét. Đây là thứ mà tôi cũng quan tâm - nhưng tôi chưa thực hiện giải pháp như vậy. Tôi đã thực hiện một quy trình giống như deamon đang nhận được một hình ảnh để xử lý bởi một hỗn hợp của các CNNs sâu keras và đây là ví dụ của tôi xuất phát từ đó. –