Encoder’ı tanımlama
Burada bir Machine Translation modelini oluşturmaya ilk adımını atacaksın: encoder’ı uygulamak. Uygulayacağın encoder, Google’ın çeviri servisi gibi gerçek dünya uygulamalarında kullanılan karmaşık modellere kıyasla oldukça basit bir model. Ama endişe etme; model basit olsa da temel kavramlar o karmaşık modellerle aynıdır. Bu bölümde encoder ile ilgili her şeyi belirtmek için en önekini (ör. en_gru), decoder ile ilgili olanları belirtmek içinse de önekini (ör. de_gru) kullanacağız.
Gördüğün gibi, gerçek değerden (228) daha küçük olacak şekilde en_vocab’ı 150 olarak seçiyoruz. Sözlüğün küçültülmesi modelin bellek kullanımını azaltır. Bunu yaparken en nadir kelimeleri çıkardığımız için sözlüğü biraz küçültmek sorun değildir. Machine Translation görevlerinde nadir kelimeler genellikle yaygın kelimelere kıyasla daha az değere sahiptir.
Bu egzersiz
Keras ile Machine Translation
kursunun bir parçasıdırEgzersiz talimatları
shapeargümanını kullanarak, sözlük boyutuen_vocabve dizi uzunluğuen_lenolan bir girdi için birInputkatmanı tanımla.hsizegizli birimine sahip ve durumunu döndüren birkeras.layers.GRUkatmanı tanımla.- GRU katmanına
en_inputsvererek çıktıları al; GRU durumunuen_state’e, çıktıyıen_out’a ata. - Girdisi
en_inputs, çıktısıen_stateolan birkeras.models.Modeltanımla ve model özetini yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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.____)