एन्कोडर परिभाषित करना
यहाँ आप मशीन ट्रांसलेशन मॉडल बनाने की दिशा में पहला कदम उठाएँगे: एन्कोडर इम्प्लीमेंट करना। जो एन्कोडर आप बनाएँगे, वह वास्तविक-world एप्लिकेशनों (जैसे Google की मशीन ट्रांसलेशन सर्विस) में इस्तेमाल होने वाले जटिल मॉडलों की तुलना में काफी सरल है। लेकिन चिंता न करें, भले मॉडल सरल हो, अवधारणाएँ उन्हीं जटिल मॉडलों जैसी ही हैं। यहाँ हम एन्कोडर से जुड़ी हर चीज़ को बताने के लिए en प्रीफ़िक्स (जैसे en_gru) और डिकोडर से जुड़ी चीज़ों के लिए de प्रीफ़िक्स (जैसे de_gru) का उपयोग करेंगे।
आप देखेंगे कि हम en_vocab को वास्तविक मान (228) से छोटा, 150 रख रहे हैं। वोकैब्युलरी को छोटा करने से मॉडल का मेमोरी फ़ुटप्रिंट घटता है। थोड़ी कमी करना ठीक है क्योंकि ऐसा करते समय हम सबसे दुर्लभ शब्दों को हटा रहे हैं। मशीन ट्रांसलेशन कार्यों में दुर्लभ शब्द आमतौर पर सामान्य शब्दों की तुलना में कम महत्व रखते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ Machine Translation
अभ्यास निर्देश
shapeआर्ग्युमेंट का उपयोग करके ऐसे इनपुट के लिए एकInputलेयर परिभाषित करें जिसकी वोकैब्युलरी साइजen_vocabऔर sequence lengthen_lenहो।- एक
keras.layers.GRUलेयर परिभाषित करें जिसमेंhsizehidden units हों और जो अपनी state लौटाए। en_inputsको फ़ीड करके GRU लेयर के आउटपुट प्राप्त करें और GRU की state कोen_stateतथा आउटपुट कोen_outमें असाइन करें।- एक
keras.models.Modelपरिभाषित करें जिसका इनपुटen_inputsहो और आउटपुटen_stateहो, और फिर मॉडल summary प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
import tensorflow.keras as keras
en_len = 15
en_vocab = 150
hsize = 48
# Define an input layer
en_inputs = keras.layers.____(____=____)
# Define a GRU layer which returns the state
en_gru = ____(____, ____=____)
# Get the output and state from the GRU
____, ____ = ____(____)
# Define and print the model summary
encoder = ____(inputs=____, ____=____)
print(encoder.____)