TensorFlow 1.4 di chuyển TF Dữ liệu vào lõi (tf.data.Dataset
) và doc/tutorial đề xuất sử dụng tf.estimator
để đào tạo mô hình.Không thể sử dụng ước tính + tập dữ liệu và đào tạo cho ít hơn một kỷ nguyên
Tuy nhiên, như được đề xuất ở cuối this page, đối tượng Tập dữ liệu và trình lặp của nó phải được khởi tạo bên trong hàm input_fn
. Điều này có nghĩa là các lần lặp thông qua tập dữ liệu sẽ bắt đầu lại cho mỗi cuộc gọi đến estimator.train(input_fn, steps)
. Vì vậy, gọi là với các bước < số lượng mẫu trong kỷ nguyên, sẽ dẫn đến đào tạo mô hình trên một tập hợp con của tập dữ liệu.
Vì vậy, câu hỏi của tôi. Là nó có thể thực hiện một cái gì đó như thế này với Estimator + Dataset:
for i in range(num_epochs):
# Train for some steps
estimator.train(input_fn=train_input_fn, steps=valid_freq)
validation_iterator.
# Evaluate on the validation set (steps=None, we evaluate on the full validation set)
estimator.evaluate(input_fn=valid_input_fn)
mà không bắt đầu đào tạo các mẫu lặp đi lặp lại từ đầu ở mỗi cuộc gọi đến estimator.train(input_fn=train_input_fn, steps=valid_freq)
?
Ví dụ: không giống như here, khởi tạo Bộ dữ liệu và trình lặp của nó bên ngoài input_fn
? Tôi đã thử nó nhưng nó không hoạt động bởi vì sau đó đầu vào (từ bộ dữ liệu iterator) và mô hình (từ các ước tính model_fn
) không phải là một phần của cùng một đồ thị.
Cảm ơn
liên quan vấn đề github: https://github.com/tensorflow/tensorflow/issues/14283