Začněte nyníZačněte zdarma

Definování dekodéru inferenčního modelu

Inferenční model je model, který se v praxi používá k provádění překladů na vyžádání uživatele. V tomto cvičení budeš implementovat dekodér inferenčního modelu.

Dekodér inferenčního modelu se liší od dekodéru tréninkového modelu. Dekodér nemůžeme zásobit francouzskými slovy, protože právě ta chceme předpovídat. Naštěstí existuje řešení: jako vstup pro inferenční dekodér můžeme použít předpovězené francouzské slovo z předchozího časového kroku. Při generování překladu tedy dekodér produkuje vždy jedno slovo a zároveň přijímá předchozí výstup jako vstup.

Pro toto cvičení jsou importovány proměnné hsize (velikost skrytého stavu vrstvy GRU), fr_len a fr_vocab. Nezapomeň, že prefix de označuje dekodér.

Toto cvičení je součástí kurzu

Machine Translation with Keras

Zobrazit kurz

Pokyny k cvičení

  • Definuj vrstvu Input, která přijímá dávku sekvencí francouzských slov zakódovaných metodou onehot (délka sekvence 1).
  • Definuj další vrstvu Input, která přijímá dávku stavů o velikosti hsize a slouží k předání předchozího stavu dekodéru.
  • Získej výstup a stav dekodéru GRU.
  • Definuj model, který přijímá vstup francouzských slov Input a vstup předchozího stavu Input a na výstupu vrací finální predikci a nový stav GRU.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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())
Upravit a spustit kód