BaşlayınÜcretsiz Başlayın

Gömme modelini tanımlama

Aşağıdaki özelliklere sahip bir Keras modeli tanımlayacaksın:

  • Embedding katmanları kullanır
  • Teacher Forcing ile eğitilecektir

Bu modelde iki gömme katmanı olacak: bir kodlayıcı (encoder) gömme katmanı ve bir kod çözücü (decoder) gömme katmanı. Ayrıca model Teacher Forcing ile eğitildiği için, decoder Input katmanında dizi uzunluğu fr_len-1 olacaktır.

Bu egzersizde gerekli tüm keras.layers ve Model içe aktarılmış durumda. Ayrıca en_len (İngilizce dizi uzunluğu), fr_len (Fransızca dizi uzunluğu), en_vocab (İngilizce sözlük boyutu), fr_vocab (Fransızca sözlük boyutu) ve hsize (gizli katman boyutu) değişkenleri tanımlanmıştır.

Bu egzersiz

Keras ile Machine Translation

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Kelime kimliği dizisini kabul eden bir Input katmanı tanımla.
  • en_vocab kelimeyi gömen, uzunluğu 96 olan ve kimlik dizilerini kabul edebilen bir Embedding katmanı tanımla (dizi uzunluğu input_length argümanı ile belirtilir).
  • fr_vocab kelimeyi gömen, uzunluğu 96 olan ve fr_len-1 uzunluğunda kimlik dizilerini kabul edebilen bir Embedding katmanı tanımla.
  • Kodlayıcıdan ve kod çözücüden (bu sırayla) giriş alan ve kelime tahminlerini çıktılayan bir model tanımla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Define an input layer which accepts a sequence of word IDs
en_inputs = Input(____=(____,))
# Define an Embedding layer which accepts en_inputs
en_emb = ____(____, ____, input_length=____)(en_inputs)
en_out, en_state = GRU(hsize, return_state=True)(en_emb)

de_inputs = Input(shape=(fr_len-1,))
# Define an Embedding layer which accepts de_inputs
de_emb = Embedding(____, 96, input_length=____)(____)
de_out, _ = GRU(hsize, return_sequences=True, return_state=True)(de_emb, initial_state=en_state)
de_pred = TimeDistributed(Dense(fr_vocab, activation='softmax'))(de_out)

# Define the Model which accepts encoder/decoder inputs and outputs predictions 
nmt_emb = Model([____, ____], ____)
nmt_emb.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['acc'])
Kodu Düzenle ve Çalıştır