मॉडल को ट्रेन करना
क्या आप जानते हैं कि 2017 में Google Translate रोज़ाना 500 मिलियन से ज़्यादा यूज़र्स को सर्व करता था?
यहाँ, आप अपना पहला Teacher Forced मॉडल ट्रेन करेंगे. Teacher Forcing आमतौर पर sequence-to-sequence मॉडलों में उपयोग होता है, जैसे आपका neural machine translator, ताकि बेहतर प्रदर्शन मिले.
आपको sents2seqs() फंक्शन, English वाक्य en_text और French वाक्य fr_text दिए जाएँगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ Machine Translation
अभ्यास निर्देश
- Decoder input निकालिए, जिसमें French शब्दों के one-hot encoded सीक्वेंस हों (हर सीक्वेंस के आखिरी शब्द को छोड़कर).
- Decoder output निकालिए, जिसमें French शब्दों के one-hot encoded सीक्वेंस हों (हर सीक्वेंस के पहले शब्द को छोड़कर).
- मॉडल को एक single batch डेटा पर ट्रेन कीजिए.
- Training डेटा
en_x,de_xऔरde_yके लिए evaluation metrics (loss और accuracy) प्राप्त कीजिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
n_epochs, bsize = 3, 250
for ei in range(n_epochs):
for i in range(0,data_size,bsize):
en_x = sents2seqs('source', en_text[i:i+bsize], onehot=True, reverse=True)
de_xy = sents2seqs('target', fr_text[i:i+bsize], onehot=True)
# Separate the decoder inputs from de_xy
de_x = ____[:,____,:]
# Separate the decoder outputs from de_xy
de_y = ____[____]
# Train the model on a single batch of data
nmt_tf.____([____,____], ____)
# Obtain the eval metrics for the training data
res = _____.evaluate([____,____], ____, batch_size=bsize, verbose=0)
print("{} => Train Loss:{}, Train Acc: {}".format(ei+1,res[0], res[1]*100.0))