Phần 2: Tìm hiểu mô hình GRU
Bây giờ bạn sẽ xem cách dùng các Keras model để chấp nhận các batch đầu vào có kích thước tùy ý. Khả năng này rất quan trọng vì nhiều lý do. Chẳng hạn, nó cho phép bạn định nghĩa một Keras model duy nhất và thử nghiệm với các kích thước batch khác nhau trong giai đoạn huấn luyện mà không cần thay đổi gì trong model.
Trong bài này, keras và numpy (dưới tên np) đã được import sẵn.
Bài tập này là một phần của khóa học
Machine Translation với Keras
Hướng dẫn bài tập
- Định nghĩa một lớp input chấp nhận batch dữ liệu có kích thước TÙY Ý, với độ dài chuỗi bằng 3 và kích thước đầu vào bằng 4.
- Định nghĩa một lớp GRU với 10 hidden units, nhận đầu vào ở trên và tạo ra một đầu ra.
- Định nghĩa một Model tên là
modelnhận lớp input làm đầu vào và trả về đầu ra của lớp GRU làm đầu ra. Hãy nhớ bạn có thể dùng cú phápkeras.models.Model(<argument>=<value>)để định nghĩa một model. - Dự đoán đầu ra của model cho cả
x1vàx2.
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.
# 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)