Część 2: Poznawanie modeli GRU
Teraz zobaczysz, jak używać modeli Keras do przyjmowania partii danych o dowolnym rozmiarze. Ta możliwość jest istotna z wielu powodów. Pozwala na przykład zdefiniować jeden model Keras i eksperymentować z różnymi rozmiarami partii na etapie trenowania – bez konieczności wprowadzania jakichkolwiek zmian w samym modelu.
W tym ćwiczeniu keras oraz numpy (jako np) są już zaimportowane.
To ćwiczenie jest częścią kursu
Tłumaczenie maszynowe z Keras
Instrukcje do ćwiczenia
- Zdefiniuj warstwę wejściową, która przyjmuje partie danych o dowolnym rozmiarze, z długością sekwencji 3 i rozmiarem wejścia 4.
- Zdefiniuj warstwę GRU z 10 ukrytymi jednostkami, która przyjmuje poprzednie wejście i produkuje wyjście.
- Zdefiniuj model o nazwie
model, który przyjmuje warstwę wejściową jako wejście i produkuje wyjście warstwy GRU jako wyjście. Pamiętaj, że możesz użyć składnikeras.models.Model(<argument>=<wartość>), aby zdefiniować model. - Oblicz predykcje modelu dla
x1ix2.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define an input layer
inp = keras.layers.____(____=(____))
# Define a GRU layer that takes in the input
gru_out = keras.layers.____(____)(____)
# Define a model that outputs the GRU output
____ = keras.models.____(inputs=____, outputs=____)
x1 = np.random.normal(size=(2,3,4))
x2 = np.random.normal(size=(5,3,4))
# Get the output of the model and print the result
y1 = ____.____(____)
y2 = ____.____(____)
print("shape (y1) = ", y1.shape, " shape (y2) = ", y2.shape)