शुरू करेंमुफ़्त में शुरू करें

वैलिडेशन के साथ मॉडल को ट्रेन करना

यहाँ आप Teacher Forcing का उपयोग करके मॉडल को ट्रेन करेंगे और एक वैलिडेशन स्टेप भी चलाएँगे। आप मॉडल को कई epochs और कई iterations तक ट्रेन करेंगे। फिर हर epoch के अंत में, आप वैलिडेशन स्टेप चलाकर उसके परिणाम प्राप्त करेंगे.

इसके लिए आपको en_text (अंग्रेजी वाक्य), fr_text (फ्रेंच वाक्य), sents2seqs() फंक्शन और nmt_tf (कंपाइल्ड मॉडल) दिया गया है। साथ ही tr_en और tr_fr (ट्रेनिंग डेटा) और v_en तथा v_fr (वैलिडेशन डेटा) पहले से लोडेड हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Keras के साथ Machine Translation

पाठ्यक्रम देखें

अभ्यास निर्देश

  • de_xy से decoder inputs (आखिरी शब्द को छोड़कर सभी) और outputs (पहले शब्द को छोड़कर सभी) निकालें।
  • डेटा के एक single batch पर मॉडल को ट्रेन करें।
  • वैलिडेशन डेटा से decoder inputs और outputs उसी तरह बनाएँ जैसे आपने ट्रेनिंग डेटा के लिए किया था।
  • वैलिडेशन डेटासेट पर मॉडल का मूल्यांकन करें ताकि validation loss और accuracy प्राप्त हो सके।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

for ei in range(n_epochs):
  for i in range(0,train_size,bsize):    
    en_x = sents2seqs('source', tr_en[i:i+bsize], onehot=True, reverse=True)
    de_xy = sents2seqs('target', tr_fr[i:i+bsize], onehot=True)
    # Create a single batch of decoder inputs and outputs
    de_x, de_y = ____[:,____,:], de_xy[:,____,:]
    # Train the model on a single batch of data
    nmt_tf.____([____,____], de_y)      
  v_en_x = sents2seqs('source', v_en, onehot=True, reverse=True)
  # Create a single batch of validation decoder inputs and outputs
  v_de_xy = ____('target', ____, onehot=____)
  v_de_x, v_de_y = ____[____], v_de_xy[____]
  # Evaluate the trained model on the validation data
  res = nmt_tf.evaluate([____,____], ____, batch_size=valid_size, verbose=0)
  print("{} => Loss:{}, Val Acc: {}".format(ei+1,res[0], res[1]*100.0))
कोड संपादित करें और चलाएँ