Decoder'ı tanımlama
Bu egzersizde, decoder'ı uygulayacak ve encoder girdilerinden decoder GRU çıktısına giden uçtan uca bir model tanımlayacaksın. Decoder, encoder ile aynı modeli kullanır. Ancak, encoder'a kıyasla decoder'a verilen girdiler ve durumlarda farklılıklar vardır. Örneğin, decoder hem encoder tarafından üretilen bağlam vektörünü (context vector) girdi olarak tüketir hem de decoder için başlangıç durumu olarak kullanır. Encoder ile ilgili her şeyi belirtmek için en önekini (ör. en_gru), decoder ile ilgili şeyler için de önekini (ör. de_gru) kullanacağımızı unutma.
Decoder'ı uygulamak için RepeatVector ve GRU katmanlarını kullanacaksın.
Bu egzersiz için, encoder modeli ve daha önce uyguladığın çeşitli encoder katmanları sağlanmıştır. Örneğin, encoder girdileri en_inputs ve bağlam vektörü en_state olarak verilmiştir. Ayrıca, GRU ve Model nesnelerinin zaten içe aktarılmış olduğunu unutma.
Bu egzersiz
Keras ile Machine Translation
kursunun bir parçasıdırEgzersiz talimatları
en_state'i girdi olarak alan ve onufr_lenkadar tekrar eden birRepeatVectorkatmanı tanımla.- Gizli birimleri
hsizeolan ve üretilen tüm çıktıları döndüren bir GRU katmanıdecoder_grutanımla. decoder_grukatmanının çıktısını, girdi olarakde_inputsve decoder'ın başlangıç durumu olaraken_statevererek al.- Girdi olarak
en_inputsve çıktı olarakgru_outputsalan bir model tanımla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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()