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, kursun bir parçasıdır
Keras ile Machine Translation
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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.____)