Część 2: Definiowanie pełnego modelu
Czy wiesz, że wytrenowanie jednego z wariantów Google Neural Machine Translator tylko dla zadania tłumaczenia z angielskiego na francuski zajęło około 6 dni i wymagało 96 procesorów GPU?
W tym ćwiczeniu zdefiniujesz podobny, ale znacznie prostszy model neuronowego tłumaczenia maszynowego oparty na architekturze koder-dekoder. Konkretnie – użyjesz wcześniej zdefiniowanych wejść i wyjść, aby utworzyć obiekt Model w Keras, a następnie skompilujesz model z podaną funkcją straty i optymalizatorem.
Dostępne są następujące zmienne zdefiniowane wcześniej: en_inputs (warstwa wejściowa kodera), en_out i en_state (wyjście GRU kodera), de_out (wyjście GRU dekodera) oraz de_pred (predykcja dekodera).
To ćwiczenie jest częścią kursu
Tłumaczenie maszynowe z Keras
Instrukcje do ćwiczenia
- Zdefiniuj
ModelKeras, który przyjmujeen_inputsjako wejście i predykcje dekodera (de_pred) jako wyjście. - Skompiluj zdefiniowany model, wywołując
<model>.compilez optymalizatorem'adam', funkcją straty opartą na entropii krzyżowej i dokładnością (acc) jako metryką. - Wyświetl podsumowanie modelu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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.____()