Deel 2: Het volledige model definiëren
Wist je dat het ongeveer 6 dagen en 96 GPU's kostte om een variant van de Google Neural Machine Translator te trainen, alleen al voor de Engelse-naar-Franse vertaaktaak?
In deze oefening definieer je een soortgelijk maar veel eenvoudiger encoder-decoder-gebaseerd neural machine translation-model. Je gebruikt de eerder gedefinieerde inputs en outputs om een Keras Model-object te definiëren en compileert het model met een gegeven verliesfunctie en een optimizer.
Hier krijg je en_inputs (encoder-invoerslaag), en_out en en_state (encoder-GRU-uitvoer), de_out (decoder-GRU-uitvoer) en de_pred (decoder-voorspelling) die je eerder hebt gedefinieerd.
Deze oefening maakt deel uit van de cursus
Machine Translation met Keras
Oefeninstructies
- Definieer een Keras-
Modeldaten_inputsals input neemt en de decoder-voorspellingen (de_pred) als output geeft. - Compileer het gedefinieerde model door
<model>.compileaan te roepen met de'adam'-optimizer, cross-entropy-verlies en accuracy (acc) als metric. - Print de samenvatting van het model.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
from tensorflow.keras.models import Model
# Define a model with encoder input and decoder output
nmt = ____(____=____, outputs=____)
# Compile the model with an optimizer and a loss
nmt.____(optimizer=____, ____='categorical_crossentropy', metrics=[____])
# View the summary of the model
nmt.____()