2016-01-19 41 views
12

Tôi đã dần dần đi qua các hướng dẫn tensorflow, và tôi giả sử tôi sẽ phải một lần nữa. Tôi không có một nền tảng trong ML nhưng đang từ từ đẩy theo cách của tôi lên.Làm thế nào để bạn thực sự áp dụng một mô hình được đào tạo?

Dù sao, sau khi đọc qua RNN tutorial và chạy mã đào tạo, tôi bị nhầm lẫn.

Làm cách nào để thực sự áp dụng mô hình được đào tạo để nó có thể được sử dụng để đưa ra dự đoán ngôn ngữ?

Tôi biết đây là một câu hỏi đơn giản và khủng khiếp khủng khiếp, nhưng tôi tin rằng nó sẽ được sử dụng cho người khác, như tôi đã thấy nó hỏi và không được trả lời một cách thỏa đáng.

Trả lời

4

Nói chung, khi bạn đào tạo một mô hình, trước tiên bạn thực hiện chuyển tiếp và sau đó là một đường chuyền ngược. Thẻ chuyển tiếp dự đoán dựa trên dữ liệu đầu vào của bạn và đường chuyền ngược điều chỉnh mô hình của bạn dựa trên mức độ dự đoán chính xác của bạn.

Vì vậy, khi bạn muốn áp dụng mô hình của mình, bạn chỉ cần thực hiện chuyển tiếp với dữ liệu mới của mình làm đầu vào.

Trong ví dụ cụ thể của bạn, sử dụng this code, bạn có thể xem làm thế nào nó được thực hiện bằng cách nhìn vào cách họ chạy các thiết lập kiểm tra, bắt đầu từ dòng 286.

# They instantiate the model with is_training=False 
mtest = PTBModel(is_training=False, config=eval_config) 

# Then they can do a forward pass 
test_perplexity = run_epoch(session, mtest, test_data, tf.no_op()) 
print("Test Perplexity: %.3f" % test_perplexity) 

Và nếu bạn muốn dự đoán thực tế và không phải là lúng túng , đó là trạng thái trong hàm run_epoch:

cost, state, _ = session.run([m.cost, m.final_state, eval_op], 
          {m.input_data: x, 
           m.targets: y, 
           m.initial_state: state}) 
Các vấn đề liên quan