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

Çıkarım modelinin kod çözücüsünü tanımlama

Çıkarım modeli, kullanıcının talep ettiği durumlarda çeviri yapmak için gerçek dünyada kullanılacak modeldir. Bu egzersizde, çıkarım modelinin kod çözücüsünü (decoder) uygulaman gerekecek.

Çıkarım modelinin kod çözücüsü, eğitim modelinin kod çözücüsünden farklıdır. Kod çözücüyü Fransızca kelimelerle besleyemeyiz çünkü tahmin etmek istediğimiz şey bu. Neyse ki bir çözüm var. Bir önceki zaman adımında tahmin edilen Fransızca kelimeyi, çıkarım modeli kod çözücüsüne girdi olarak kullanabiliriz. Bu nedenle, bir çeviri üretmek istediğinde kod çözücü, önceki çıktıyı girdi olarak tüketirken her seferinde bir kelime üretmelidir.

Bu egzersiz için, hsize (GRU katmanının gizli boyutu), fr_len ve fr_vocab değişkenleri içe aktarılmıştır. de önekinin kod çözücüye gönderme yapmak için kullanıldığını unutma.

Bu egzersiz

Keras ile Machine Translation

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

Egzersiz talimatları

  • Dizi uzunluğu 1 olan, tek-sıcak (onehot) kodlanmış Fransızca kelime dizileri toplu girişini kabul eden bir Input katmanı tanımla.
  • Kod çözücüye önceki durumu beslemek için kullanacağın, hsize durumundan oluşan bir toplu girişi kabul eden başka bir Input katmanı tanımla.
  • Kod çözücünün GRU çıktısını ve durumunu al.
  • Fransızca kelimeler Inputu ile önceki durum Inputunu kabul eden ve nihai tahmini ve yeni GRU durumunu çıktılayan bir model tanımla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

import tensorflow.keras.layers as layers
from tensorflow.keras.models import Model
# Define an input layer that accepts a single onehot encoded word
de_inputs = layers.____(shape=(____, ____))
# Define an input to accept the t-1 state
de_state_in = layers.____(shape=(____,))
de_gru = layers.GRU(hsize, return_state=True)
# Get the output and state from the GRU layer
de_out, de_state_out = ____(de_inputs, initial_state=____)
de_dense = layers.Dense(fr_vocab, activation='softmax')
de_pred = de_dense(de_out)

# Define a model
decoder = Model(inputs=[____, ____], outputs=[____, ____])
print(decoder.summary())
Kodu Düzenle ve Çalıştır