डेटा का प्रीप्रोसेसिंग
अब आपको हमारे नए मॉडल के लिए डेटा प्रोसेस करना है, जिसमें दो इनपुट और एक सिंगल आउटपुट है. दो इनपुट हैं: वन-हॉट एनकोडेड English शब्द और वन-हॉट एनकोडेड French शब्द जिनमें आखिरी शब्द शामिल नहीं है.
आउटपुट होगा वन-हॉट एनकोडेड French शब्द, जिनमें पहला शब्द शामिल नहीं है. यानी, डिकोडर में हर इनपुट French शब्द का आउटपुट उसका अगला शब्द होता है. यहाँ आप सीखेंगे कि इसे कैसे इम्प्लिमेंट करना है.
आपको sents2seqs() फंक्शन, en_text और fr_text दिए गए हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ Machine Translation
अभ्यास निर्देश
sents2seqs()फंक्शन का उपयोग करके (onehot एनकोडेड और रिवर्स्ड)iसेi+bsizeतक का एनकोडर इनपुट बैच प्राप्त करें.sents2seqs()फंक्शन का उपयोग करके (onehot एनकोडेड)iसेi+bsizeतक के डिकोडर इनपुट और आउटपुट प्राप्त करें.- time डाइमेंशन पर स्लाइसिंग करके
de_xyसे डिकोडर इनपुट अलग करें (सारे French शब्द, आखिरी को छोड़कर). de_xyसे डिकोडर आउटपुट अलग करें (सारे French शब्द, पहले को छोड़कर).
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
bsize = 250
for i in range(0, len(en_text), bsize):
# Get the encoder inputs using the sents2seqs() function
en_x = ____('source', ____[____:____], onehot=True, reverse=____)
# Get the decoder inputs/outputs using the sents2seqs() function
de_xy = sents2seqs('target', ____[____:____], onehot=True)
# Separate the decoder inputs from de_xy
de_x = de_xy[:,____,:]
# Separate the decoder outputs from de_xy
de_y = de_xy[:,____,:]
print("Data from ", i, " to ", i+bsize)
print("\tnp.argmax() => en_x[0]: ", np.argmax(en_x[0], axis=-1))
print("\tnp.argmax() => de_x[0]: ", np.argmax(de_x[0], axis=-1))
print("\tnp.argmax() => de_y[0]: ", np.argmax(de_y[0], axis=-1))