MulaiMulai sekarang secara gratis

Mendefinisikan decoder

Dalam latihan ini, Anda akan mengimplementasikan decoder dan mendefinisikan model ujung-ke-ujung dari masukan encoder hingga keluaran GRU decoder. Decoder menggunakan model yang sama seperti encoder. Namun, terdapat perbedaan pada masukan dan state yang diberikan ke decoder dibandingkan dengan encoder. Misalnya, decoder menggunakan vektor konteks yang dihasilkan encoder sebagai masukan sekaligus sebagai state awal untuk decoder. Ingat bahwa kita akan menggunakan prefiks en (misalnya en_gru) untuk menandai hal yang terkait encoder dan de untuk hal yang terkait decoder (misalnya de_gru).

Untuk mengimplementasikan decoder, Anda akan menggunakan lapisan RepeatVector dan GRU.

Untuk latihan ini, model encoder dan berbagai lapisan encoder yang sudah Anda implementasikan telah disediakan. Sebagai contoh, masukan encoder disediakan sebagai en_inputs dan vektor konteks sebagai en_state. Perhatikan juga bahwa objek GRU dan Model sudah diimpor.

Latihan ini adalah bagian dari kursus

Penerjemahan Mesin dengan Keras

Lihat Kursus

Petunjuk latihan

  • Definisikan lapisan RepeatVector yang menerima en_state sebagai masukan dan mengulanginya sebanyak fr_len kali.
  • Definisikan lapisan GRU, decoder_gru, yang memiliki unit tersembunyi sebesar hsize dan mengembalikan semua output yang dihasilkan.
  • Dapatkan keluaran dari lapisan decoder_gru dengan memberikan de_inputs sebagai masukan dan en_state sebagai state awal decoder.
  • Definisikan sebuah model yang menerima en_inputs sebagai masukan dan gru_outputs sebagai keluarannya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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()
Edit dan Jalankan Kode