Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Definieer een Keras-Model dat en_inputs als input neemt en de decoder-voorspellingen (de_pred) als output geeft.
  • Compileer het gedefinieerde model door <model>.compile aan 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.____()
Code bewerken en uitvoeren