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

इन्फ़रेंस मॉडल के डिकोडर को परिभाषित करना

इन्फ़रेंस मॉडल वह मॉडल है जिसका उपयोग वास्तविक दुनिया में, उपयोगकर्ता की ज़रूरत पड़ने पर, अनुवाद करने के लिए किया जाएगा. इस अभ्यास में, आपको इन्फ़रेंस मॉडल का डिकोडर इम्प्लीमेंट करना है.

इन्फ़रेंस मॉडल का डिकोडर, ट्रेनिंग मॉडल के डिकोडर से अलग होता है. हम डिकोडर को फ्रेंच शब्द नहीं दे सकते, क्योंकि वही तो हमें प्रेडिक्ट करना है. अच्छी बात यह है कि एक उपाय है: हम पिछले समय-चरण में प्रेडिक्ट हुआ फ्रेंच शब्द लेकर इन्फ़रेंस मॉडल के डिकोडर को फीड कर सकते हैं. इसलिए, जब आप अनुवाद जनरेट करना चाहें, तो डिकोडर को हर बार एक-एक शब्द जनरेट करना होगा और पिछले आउटपुट को इनपुट की तरह इस्तेमाल करना होगा.

इस अभ्यास के लिए, वैरिएबल hsize (GRU लेयर का hidden size), fr_len और fr_vocab इम्पोर्ट किए जा चुके हैं. याद रखें कि प्रीफ़िक्स de डिकोडर को संदर्भित करने के लिए प्रयोग होता है.

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

Keras के साथ Machine Translation

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

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

  • ऐसा Input लेयर परिभाषित करें जो onehot एन्कोडेड फ्रेंच शब्दों की बैच-वाइज sequence (sequence length 1) स्वीकार करे.
  • एक और Input लेयर परिभाषित करें जो hsize स्टेट की बैच स्वीकार करे, जिसे आप पिछले स्टेट को डिकोडर में फीड करने के लिए उपयोग करेंगे.
  • डिकोडर GRU का आउटपुट और स्टेट प्राप्त करें.
  • ऐसा मॉडल परिभाषित करें जो फ्रेंच शब्दों वाला Input और पिछले स्टेट वाला Input ले और फाइनल प्रेडिक्शन तथा नया GRU स्टेट आउटपुट करे.

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

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

import tensorflow.keras.layers as layers
from tensorflow.keras.models import Model
# Define an input layer that accepts a single onehot encoded word
de_inputs = layers.____(shape=(____, ____))
# Define an input to accept the t-1 state
de_state_in = layers.____(shape=(____,))
de_gru = layers.GRU(hsize, return_state=True)
# Get the output and state from the GRU layer
de_out, de_state_out = ____(de_inputs, initial_state=____)
de_dense = layers.Dense(fr_vocab, activation='softmax')
de_pred = de_dense(de_out)

# Define a model
decoder = Model(inputs=[____, ____], outputs=[____, ____])
print(decoder.summary())
कोड संपादित करें और चलाएँ