Tạo mô hình sinh văn bản
Trong bài tập này, bạn sẽ định nghĩa một mô hình sinh văn bản bằng Keras.
Các biến n_vocab chứa kích thước từ vựng và input_shape chứa hình dạng dữ liệu dùng để huấn luyện đã được nạp sẵn trong môi trường. Ngoài ra, trọng số của một mô hình đã huấn luyện có sẵn trong tệp model_weights.h5. Mô hình này đã được huấn luyện với 40 epochs trên dữ liệu huấn luyện. Nhắc lại rằng để huấn luyện một mô hình trong Keras, bạn chỉ cần gọi phương thức .fit() trên dữ liệu huấn luyện (X, y), và tham số epochs. Ví dụ:
model.fit(X_train, y_train, epochs=40)
Bài tập này là một phần của khóa học
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras
Hướng dẫn bài tập
- Thêm một tầng
LSTMtrả về sequences. - Thêm một tầng
LSTMkhông trả về sequences. - Thêm tầng đầu ra với
n_vocabunit. - Hiển thị tóm tắt mô hình.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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.____