Chào mừng các bạn quay trở lại với loạt bài về Keras Cơ Bản của tek4.vn. Trong bài viết này chúng ta sẽ cùng tìm hiểu về cách visualize một mô hình học sâu. Bắt đầu thôi!
Xem thêm bài viết trước: Phát Triển Mô Hình Mạng Neural Hồi Quy
Kiến trúc của mô hình học sâu có thể nhanh chóng trở lên to lớn và phức tạp.
Do đó, điều quan trọng là phải có một ý tưởng rõ ràng về các kết nối và luồng dữ liệu trong mô hình của bạn. Điều này đặc biệt quan trọng nếu bạn đang sử dụng hàm API để đảm bảo rằng bạn đã thực sự kết nối các layers của mô hình theo cách bạn dự định.
Có hai công cụ bạn có thể sử dụng để visualize mô hình của mình: Text description và plot,
Model Text Description
Text description về mô hình của bạn có thể được hiển thị bằng cách gọi hàm summary() trên mô hình của bạn.
Ví dụ dưới đây xác định một mô hình nhỏ với ba layers và sau đó tóm tắt cấu trúc.
1 2 3 4 5 6 7 8 9 10 |
# example of summarizing a model from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense # define model model = Sequential() model.add(Dense(10, activation='relu', kernel_initializer='he_normal', input_shape=(8,))) model.add(Dense(8, activation='relu', kernel_initializer='he_normal')) model.add(Dense(1, activation='sigmoid')) # summarize the model model.summary() |
Chạy ví dụ trên sẽ in ra một bản tóm tắt của mỗi layer, cũng như một bản tóm tắt tổng thể.
Đây là một cách cực hữu ích để kiểm tra shape đầu ra và số lượng thông số (trọng số) trong mô hình của bạn.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Model: "sequential" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= dense (Dense) (None, 10) 90 _________________________________________________________________ dense_1 (Dense) (None, 8) 88 _________________________________________________________________ dense_2 (Dense) (None, 1) 9 ================================================================= Total params: 187 Trainable params: 187 Non-trainable params: 0 _________________________________________________________________ |
Model Architecture Plot
Bạn có thể tạo một biểu đồ cho mô hình của mình bằng cách gọi hàm plot_model().
Thao tác này sẽ tạo một tệp hình ảnh có chứa một hộp và sơ đồ đường của các layers trong mô hình của bạn.
Ví dụ dưới đây tạo một mô hình ba layers nhỏ và lưu một phần của kiến trúc mô hình vào ‘model.png‘ bao gồm các shape đầu vào và đầu ra.
1 2 3 4 5 6 7 8 9 10 11 |
# example of plotting a model from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.utils import plot_model # define model model = Sequential() model.add(Dense(10, activation='relu', kernel_initializer='he_normal', input_shape=(8,))) model.add(Dense(8, activation='relu', kernel_initializer='he_normal')) model.add(Dense(1, activation='sigmoid')) # summarize the model plot_model(model, 'model.png', show_shapes=True) |
Chạy ví dụ này sẽ tạo ra một biểu đồ của mô hình hiển thị một hộp cho mỗi layer với thông tin shape và các mũi tên kết nối các layer, hiển thị luồng dữ liệu qua mạng.
Bài viết tiếp theo: Cách vẽ đồ thị đường cong học tập của mô hình