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

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

यहाँ आप वैलिडेशन स्टेप के साथ न्यूरल मशीन ट्रांसलेटर मॉडल को ट्रेन करना सीखेंगे.

आपको पिछले चैप्टर में बनाया गया nmt मॉडल दिया गया है. इसके अलावा, आप मॉडल को Udacity Github Repo से लिए गए अंग्रेज़ी और फ़्रेंच वाक्यों पर ट्रेन करेंगे. आपको पिछले अभ्यास से ट्रेनिंग अंग्रेज़ी टेक्स्ट (tr_en) और फ़्रेंच टेक्स्ट (tf_fr) के साथ-साथ वैलिडेशन अंग्रेज़ी टेक्स्ट (v_en) और फ़्रेंच टेक्स्ट (v_fr) भी दिए गए हैं.

मॉडल को ट्रेन करने में थोड़ा समय लगता है, इसलिए आपका कोड चलने में कुछ ज़्यादा समय लेगा.

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

Keras के साथ Machine Translation

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

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

  • sents2seqs फंक्शन का उपयोग करके v_en और v_fr को ट्रांसफॉर्म करके वैलिडेशन डेटा बनाएँ.
  • sents2seqs फंक्शन का उपयोग कर सही तरह से ट्रांसफॉर्म किया हुआ इनपुट और आउटपुट का बैच प्राप्त करें.
  • nmt को एक सिंगल बैच पर ट्रेन करने के लिए इनपुट (en_x) और आउटपुट (de_y) का उपयोग करें.
  • v_en_x और v_de_y को valid_size को batch_size रखते हुए nmt मॉडल के मूल्यांकन के लिए उपयोग करें और वैलिडेशन एक्यूरसी प्राप्त करें.

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

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

# Convert validation data to onehot
v_en_x = ____(____, ____, onehot=____, reverse=____)
v_de_y = ____(____, ____, onehot=True)

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