डीकोडर परिभाषित करना
इस अभ्यास में, आप डीकोडर इम्प्लीमेंट करेंगे और एक एंड-टू-एंड मॉडल परिभाषित करेंगे जो एन्कोडर इनपुट से डीकोडर GRU आउटपुट तक जाता है। डीकोडर, एन्कोडर वाले ही मॉडल का उपयोग करता है। हालांकि, एन्कोडर की तुलना में डीकोडर को दिए जाने वाले इनपुट और स्टेट्स में अंतर होता है। उदाहरण के लिए, डीकोडर, एन्कोडर द्वारा तैयार किए गए कॉन्टेक्स्ट वेक्टर को इनपुट के रूप में और डीकोडर की initial state के रूप में उपयोग करता है। याद रखें, हम एन्कोडर-संबंधित किसी भी चीज़ के लिए en प्रीफ़िक्स (जैसे en_gru) और डीकोडर-संबंधित चीज़ों के लिए de प्रीफ़िक्स (जैसे de_gru) का उपयोग करेंगे।
डीकोडर को इम्प्लीमेंट करने के लिए आप RepeatVector और GRU लेयर्स का उपयोग करेंगे।
इस अभ्यास के लिए आपको एन्कोडर मॉडल और उसके वे लेयर्स दिए गए हैं जिन्हें आप पहले ही इम्प्लीमेंट कर चुके हैं। उदाहरण के लिए, एन्कोडर इनपुट en_inputs के रूप में और कॉन्टेक्स्ट वेक्टर en_state के रूप में दिए गए हैं। यह भी ध्यान दें कि GRU और Model ऑब्जेक्ट्स पहले से इम्पोर्ट किए गए हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ Machine Translation
अभ्यास निर्देश
- एक
RepeatVectorलेयर परिभाषित करें जोen_stateको इनपुट के रूप में ले और उसेfr_lenबार रिपीट करे। - एक GRU लेयर
decoder_gruपरिभाषित करें, जिसमें hidden unitshsizeके बराबर हों और वह उत्पन्न किए गए सभी आउटपुट लौटाए। decoder_gruलेयर का आउटपुट लें:de_inputsको इनपुट के रूप में दें और डीकोडर की initial state के रूप मेंen_stateसेट करें।- एक मॉडल परिभाषित करें जो
en_inputsको इनपुट औरgru_outputsको आउटपुट के रूप में ले।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
from tensorflow.keras.layers import RepeatVector
hsize = 48
fr_len = 20
# Define a RepeatVector layer
de_inputs = ____(____)(____)
# Define a GRU model that returns all outputs
decoder_gru = ____(____, ____=____)
# Get the outputs of the decoder
gru_outputs = ____(____, initial_state=____)
# Define a model with the correct inputs and outputs
enc_dec = ____(inputs=____, outputs=____)
enc_dec.summary()