2017-07-27 33 views
6

Có cách nào để cho Tensorflow in các chỉ số đào tạo bổ sung (ví dụ: chính xác hàng loạt) khi sử dụng API ước tính không?In các chỉ số đào tạo bổ sung với Công cụ ước tính dòng chảy

Người ta có thể thêm tóm tắt và xem kết quả trong Tensorboard (xem bài đăng khác), nhưng tôi đã tự hỏi nếu có một cách thanh lịch để có được các giá trị tóm tắt vô hướng được in trong khi đào tạo. Điều này đã xảy ra đối với tổn thất đào tạo, ví dụ:

loss = 0.672677, step = 2901 (52.995 sec) 

nhưng sẽ thật tuyệt vời nếu có

loss = 0.672677, accuracy = 0.54678, step = 2901 (52.995 sec) 

không gặp nhiều rắc rối. Tôi biết rằng hầu hết thời gian sẽ hữu ích hơn khi vẽ chính xác độ chính xác của thiết lập thử nghiệm (tôi đã làm điều này với một màn hình xác thực), nhưng trong trường hợp này tôi cũng quan tâm đến việc đào tạo chính xác hàng loạt.

Trả lời

4

Từ những gì tôi đã đọc, bạn không thể thay đổi nó bằng cách truyền tham số. Bạn có thể thử thực hiện bằng cách tạo một móc đăng nhập và chuyển nó vào để chạy bộ ước lượng.

Trong cơ thể của model_fn chức năng cho ước lượng của bạn:

logging_hook = tf.train.LoggingTensorHook({"loss" : loss, 
    "accuracy" : accuracy}, every_n_iter=10) 

# Rest of the function 

return tf.estimator.EstimatorSpec(
    ...params... 
    training_hooks = [logging_hook]) 

EDIT:

Để xem các đầu ra bạn cũng phải thiết lập đăng nhập verbosity đủ cao (trừ khi mặc định của bạn của nó): tf.logging.set_verbosity(tf.logging.INFO)

+0

Điều này làm việc tốt cho tôi, nhưng tôi phải thêm tf.logging.set_verbosity (tf.logging.INFO) để xem đầu ra – head7

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