Tôi đang cố thêm một số bản ghi TensorBoard vào một mô hình sử dụng API tf.estimator mới.Tensorflow - Sử dụng tf.summary với 1.2 API ước tính
Tôi có một cái móc thiết lập như sau:
summary_hook = tf.train.SummarySaverHook(
save_secs=2,
output_dir=MODEL_DIR,
summary_op=tf.summary.merge_all())
# ...
classifier.train(
input_fn,
steps=1000,
hooks=[summary_hook])
Trong model_fn
của tôi, tôi cũng đang tạo ra một summary
-
def model_fn(features, labels, mode):
# ... model stuff, calculate the value of loss
tf.summary.scalar("loss", loss)
# ...
Tuy nhiên, khi tôi chạy mã này, tôi nhận được sau lỗi từ summary_hook
: Exactly one of scaffold or summary_op must be provided.
Điều này có thể do tf.summary.merge_all()
không tìm thấy bất kỳ tóm tắt nào và trả về None
, mặc dù tf.summary.scalar
Tôi đã khai báo trong model_fn
.
Mọi ý tưởng tại sao điều này sẽ không hoạt động?
Tôi đã gần như cấu trúc mã tương tự, nhưng tôi nhận được lỗi sau: "Lỗi Loại: Fetch luận có loại không hợp lệ , phải là một chuỗi hoặc Tensor. (Không thể chuyển đổi một giàn giáo thành một Tensor hoặc hoạt động.) "Bất kỳ ý tưởng tại sao nó không hoạt động? Cảm ơn! –
EXP0
Trong các phiên bản mới của Tensorflow, điều này hoạt động nếu bạn vượt qua móc để' đánh giá', nhưng không cho 'train'. Đối với đào tạo, bạn chỉ cần xác định tóm tắt trong 'mode_fn' và chúng sẽ tự động được ghi vào tensorboard. (Vâng, tôi cũng cảm thấy điều này là ngu ngốc và không trực quan) – GPhilo