2016-01-19 11 views
12

मैं धीरे-धीरे tensorflow ट्यूटोरियल के माध्यम से जा रहा हूँ, और मुझे लगता है कि मुझे फिर से करना होगा। मेरे पास एमएल में पृष्ठभूमि नहीं है लेकिन धीरे-धीरे मेरे रास्ते को दबा रहा हूं।आप वास्तव में एक प्रशिक्षित मॉडल कैसे लागू करते हैं?

वैसे भी, RNN tutorial के माध्यम से पढ़ने और प्रशिक्षण कोड चलाने के बाद, मैं उलझन में हूं।

कोई वास्तव में प्रशिक्षित मॉडल को कैसे लागू करता है ताकि इसका उपयोग भाषा की भविष्यवाणियों के लिए किया जा सके?

मुझे पता है कि यह एक भयानक नोबिश और सरल सवाल है, लेकिन मेरा मानना ​​है कि यह दूसरों के लिए उपयोग किया जाएगा, जैसा कि मैंने इसे देखा है और एक संतोषजनक तरीके से जवाब नहीं दिया है।

उत्तर

4

आम तौर पर, जब आप एक मॉडल को प्रशिक्षित करते हैं, तो आप पहले एक आगे पास करते हैं, और फिर पिछड़ा पास करते हैं। आगे का पास आपके इनपुट डेटा के आधार पर भविष्यवाणी करता है, और पिछड़ा पास आपके मॉडल को समायोजित करता है कि आपकी भविष्यवाणी कितनी सही थी।

तो जब आप अपना मॉडल लागू करना चाहते हैं, तो आप इनपुट के रूप में अपने नए डेटा के साथ आगे बढ़ें।

अपने विशिष्ट उदाहरण में, this code उपयोग कर, आप देख सकते हैं कि यह कैसे वे परीक्षण सेट चलाने के लिए, शुरू कर लाइन 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) 

को देखकर किया जाता है और आप वास्तविक भविष्यवाणी और नहीं विकलता चाहते हैं , run_epoch फ़ंक्शन में यह स्थिति है:

cost, state, _ = session.run([m.cost, m.final_state, eval_op], 
          {m.input_data: x, 
           m.targets: y, 
           m.initial_state: state}) 
संबंधित मुद्दे