Создание модели генерации текста
В этом упражнении вы определите модель генерации текста с помощью Keras.
Переменные n_vocab, содержащая размер словаря, и input_shape, содержащая форму данных для обучения, уже загружены в среду. Также доступны веса предобученной модели в файле model_weights.h5. Модель была обучена на протяжении 40 эпох на обучающих данных. Напомним, что для обучения модели в Keras достаточно вызвать метод .fit() на обучающих данных (X, y), указав параметр epochs. Например:
model.fit(X_train, y_train, epochs=40)
Это упражнение является частью курса
Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras
Инструкции к упражнению
- Добавьте один слой
LSTM, возвращающий последовательности. - Добавьте один слой
LSTM, не возвращающий последовательности. - Добавьте выходной слой с
n_vocabнейронами. - Отобразите сводку модели.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Instantiate the model
model = Sequential(name="LSTM model")
# Add two LSTM layers
model.add(____(64, input_shape=input_shape, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="Input_layer"))
model.add(____(64, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="LSTM_hidden"))
# Add the output layer
model.add(Dense(____, activation='softmax', name="Output_layer"))
# Compile and load weights
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.load_weights('model_weights.h5')
# Summary
model.____