2015-11-13 38 views
7

Tôi nhận được TF làm việc tốt cho CIFAR Tutorial. Tôi đã thay đổi mã để lưu train_dir (thư mục có điểm kiểm tra và kiểu máy) vào một vị trí biết.Cách Tạm dừng/Tiếp tục Đào tạo trong Tensorflow

Bảng điều khiển dường như hoạt động tốt với train_dir cụ thể và có thể cung cấp cho tôi công cụ giám sát thông qua giao diện web.

tôi quản lý để chạy cifar10_eval.py, với đường dẫn thư mục đúng, tôi nhận được kết quả, cùng với một số cảnh báo .. (Có vẻ như tôi sẽ thêm nguồn lực GPU để chạy mà không có cảnh báo ...)

2015-11-13 10: 09: 30,278728: độ chính xác @ 1 = 0,101

W tensorflow/lõi/common_runtime/executor.cc: 1027] 0x7fea7c0547c0 Tính trạng: đã huỷ: Enqueue hoạt động đã bị hủy bỏ [[ Nút: input_producer/input_producer_EnqueueMany = QueueEnqueueMany [Tcomponents = [DT_STRING], timeout_ms = -1, _device = "/ j ob: localhost/replica: 0/nhiệm vụ: 0/cpu: 0" ] (input_producer, input_producer/RandomShuffle)]]

tôi tensorflow/lõi/kernel/fifo_queue.cc: 154] Bỏ qua hủy nỗ lực enqueue

W tensorflow/core/common_runtime/executor.cc: 1027] 0x7fea2c0024e0 Trạng thái tính toán: Đã hủy: RandomShuffleQueue '_2_shuffle_batch/random_shuffle_queue' bị đóng. [[Nút: shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue [Tcomponents = [DT_FLOAT, DT_INT32], timeout_ms = -1, _device = "/ công việc: localhost/replica: 0/task: 0/cpu: 0"] (shuffle_batch/random_shuffle_queue, Div/_23, Cast)]]

W tensorflow/core/common_runtime/executor.cc: 1027] 0x7fea50003b80 Trạng thái tính toán: Đã hủy: RandomShuffleQueue '_2_shuffle_batch/random_shuffle_queue' bị đóng. [[Nút: shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue [Tcomponents = [DT_FLOAT, DT_INT32], timeout_ms = -1, _device = "/ công việc: localhost/replica: 0/task: 0/cpu: 0"] (shuffle_batch/random_shuffle_queue, div/_23, Cast)]]

...

đó mang lại cho tôi để câu hỏi của tôi: Làm thế nào tôi có thể tạm dừng và tiếp tục một số đào tạo với TF?

Trả lời

12

TensorFlow sử dụng tính toán biểu đồ giống như, nút (Ops) và cạnh (biến trạng thái) và nó cung cấp Saver cho Vars của nó.

Vì tính toán phân tán, bạn có thể chạy một phần đồ thị trong một máy tính/bộ xử lý và phần còn lại trong máy kia, trong khi đó bạn có thể lưu trạng thái (Vars) và nạp nó vào lần tiếp theo.

saver.save(sess, 'my-model', global_step=0) ==> filename: 'my-model-0' 
... 
saver.save(sess, 'my-model', global_step=1000) ==> filename: 'my-model-1000' 

mà sau này bạn có thể sử dụng

tf.train.Saver.restore(sess, save_path) 

để khôi phục Vars đã lưu của bạn.

Saver Usage

+0

Sử dụng tf.train.Saver.restore lệnh này (sess, save_path) sẽ gây ra một lỗi vì khôi phục phương pháp cần một ví dụ Saver. – Kongsea

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