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

मॉडल को ट्रेन करना

आप इस अभ्यास में पहले से लागू किए गए मॉडल को ट्रेन करेंगे। क्या आप जानते हैं कि Google का encoder-decoder आधारित मशीन ट्रांसलेशन मॉडल ट्रेन होने में 2–4 दिन लगा?

इस अभ्यास के लिए आप 1500 वाक्यों (अर्थात् en_text और fr_text) के छोटे डेटासेट का उपयोग करके मॉडल को ट्रेन करेंगे। यह मात्रा अच्छे प्रदर्शन के लिए पर्याप्त नहीं होगी, लेकिन तरीका वही रहेगा। फर्क बस इतना है कि अधिक डेटा पर ज़्यादा समय तक ट्रेन करना होगा। आपको मॉडल nmt और पहले लागू किया गया sents2seqs() फंक्शन उपलब्ध कराया गया है। इस अभ्यास में बेहतर प्रदर्शन के लिए आप encoder टेक्स्ट को reverse करेंगे। यहाँ en_x encoder इनपुट को दर्शाता है, जबकि de_x decoder इनपुट को.

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

Keras के साथ Machine Translation

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

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

  • sents2seqs() फंक्शन का उपयोग करके encoder इनपुट्स का एक सिंगल बैच प्राप्त करें (English वाक्य index i से i+bsize तक)। इनपुट्स को reverse और onehot-encode करना है.
  • sents2seqs() फंक्शन का उपयोग करके decoder outputs का एक सिंगल बैच प्राप्त करें (French वाक्य index i से i+bsize तक)। इनपुट्स को onehot-encode करना है.
  • en_x और de_y वाले एक सिंगल बैच डेटा पर मॉडल को ट्रेन करें.
  • bsize के batch_size के साथ मॉडल evaluate करके en_x और de_y के लिए evaluation metrics प्राप्त करें.

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

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

n_epochs, bsize = 3, 250

for ei in range(n_epochs):
  for i in range(0,data_size,bsize):
    # Get a single batch of encoder inputs
    en_x = ____('source', ____, onehot=____, reverse=____)
    # Get a single batch of decoder outputs
    de_y = sents2seqs('target', fr_text[____], onehot=____)
    
    # Train the model on a single batch of data
    nmt.____(____, ____)    
    # Obtain the eval metrics for the training data
    res = nmt.____(____, de_y, batch_size=____, verbose=0)
    print("{} => Train Loss:{}, Train Acc: {}".format(ei+1,res[0], res[1]*100.0))  
कोड संपादित करें और चलाएँ