tek4

Cách Visualize Một Mô Hình Học Sâu – Keras Cơ Bản

by - September. 25, 2021
Học
Kiến thức
Machine Learning
<p>Ch&agrave;o mừng c&aacute;c bạn quay trở lại với loạt b&agrave;i về <a href="https://tek4.vn/keras-co-ban-bat-dau-hoc-sau-voi-tf-keras/" target="_blank" rel="noopener">Keras Cơ Bản</a>&nbsp;của<a href="https://tek4.vn/" target="_blank" rel="noopener">&nbsp;tek4.vn</a>. Trong b&agrave;i viết n&agrave;y ch&uacute;ng ta sẽ c&ugrave;ng t&igrave;m hiểu về c&aacute;ch visualize một m&ocirc; h&igrave;nh học s&acirc;u. Bắt đầu th&ocirc;i!</p> <p>Xem th&ecirc;m b&agrave;i viết trước:&nbsp;<a href="https://tek4.vn/phat-trien-mo-hinh-mang-neural-hoi-quy-keras-co-ban/" target="_blank" rel="noopener">Ph&aacute;t Triển M&ocirc; H&igrave;nh Mạng Neural Hồi Quy</a></p> <p><img style="width: 629px; display: block; margin-left: auto; margin-right: auto;" src="http://tek4vn.2soft.top/public_files/49-png" alt="49" height="327" /></p> <p style="text-align: justify;">Kiến tr&uacute;c của m&ocirc; h&igrave;nh học s&acirc;u c&oacute; thể nhanh ch&oacute;ng trở l&ecirc;n to lớn v&agrave; phức tạp.</p> <p style="text-align: justify;">Do đ&oacute;, điều quan trọng l&agrave; phải c&oacute; một &yacute; tưởng r&otilde; r&agrave;ng về c&aacute;c kết nối v&agrave; luồng dữ liệu trong m&ocirc; h&igrave;nh của bạn. Điều n&agrave;y đặc biệt quan trọng nếu bạn đang sử dụng h&agrave;m API để đảm bảo rằng bạn đ&atilde; thực sự kết nối c&aacute;c layers của m&ocirc; h&igrave;nh theo c&aacute;ch bạn dự định.</p> <p style="text-align: justify;">C&oacute; hai c&ocirc;ng cụ bạn c&oacute; thể sử dụng để visualize m&ocirc; h&igrave;nh của m&igrave;nh: Text description v&agrave; plot,</p> <h3 id="ftoc-heading-1" class="ftwp-heading" style="text-align: justify;">Model Text Description</h3> <p style="text-align: justify;">Text description về m&ocirc; h&igrave;nh của bạn c&oacute; thể được hiển thị bằng c&aacute;ch gọi h&agrave;m&nbsp;<a href="https://www.tensorflow.org/api_docs/python/tf/keras/Model#summary">summary()</a>&nbsp;tr&ecirc;n m&ocirc; h&igrave;nh của bạn.</p> <p style="text-align: justify;">V&iacute; dụ dưới đ&acirc;y x&aacute;c định một m&ocirc; h&igrave;nh nhỏ với ba layers v&agrave; sau đ&oacute; t&oacute;m tắt cấu tr&uacute;c.</p> <pre class="language-python"><code># 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()</code></pre> <p style="text-align: justify;">Chạy v&iacute; dụ tr&ecirc;n sẽ in ra một bản t&oacute;m tắt của mỗi layer, cũng như một bản t&oacute;m tắt tổng thể.</p> <p style="text-align: justify;">Đ&acirc;y l&agrave; một c&aacute;ch cực hữu &iacute;ch để kiểm tra shape đầu ra v&agrave; số lượng th&ocirc;ng số (trọng số) trong m&ocirc; h&igrave;nh của bạn.</p> <pre class="language-python"><code>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 _________________________________________________________________</code></pre> <h3 id="ftoc-heading-2" class="ftwp-heading" style="text-align: justify;">Model Architecture Plot</h3> <p style="text-align: justify;">Bạn c&oacute; thể tạo một biểu đồ cho m&ocirc; h&igrave;nh của m&igrave;nh bằng c&aacute;ch gọi h&agrave;m&nbsp;<a href="https://www.tensorflow.org/api_docs/python/tf/keras/utils/plot_model">plot_model()</a>.</p> <p style="text-align: justify;">Thao t&aacute;c n&agrave;y sẽ tạo một tệp h&igrave;nh ảnh c&oacute; chứa một hộp v&agrave; sơ đồ đường của c&aacute;c layers trong m&ocirc; h&igrave;nh của bạn.</p> <p style="text-align: justify;">V&iacute; dụ dưới đ&acirc;y tạo một m&ocirc; h&igrave;nh ba layers nhỏ v&agrave; lưu một phần của kiến ​​tr&uacute;c m&ocirc; h&igrave;nh v&agrave;o &lsquo;model.png&lsquo; bao gồm c&aacute;c shape đầu v&agrave;o v&agrave; đầu ra.</p> <pre class="language-python"><code># 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)</code></pre> <p style="text-align: justify;">Chạy v&iacute; dụ n&agrave;y sẽ tạo ra một biểu đồ của m&ocirc; h&igrave;nh hiển thị một hộp cho mỗi layer với th&ocirc;ng tin shape v&agrave; c&aacute;c mũi t&ecirc;n kết nối c&aacute;c layer, hiển thị luồng dữ liệu qua mạng.</p> <p><img style="width: 460px; display: block; margin-left: auto; margin-right: auto;" src="http://tek4vn.2soft.top/public_files/49_1-png" alt="49_1" height="512" /></p> <p><a href="https://tek4.vn/cach-ve-do-thi-duong-cong-hoc-tap-cua-mo-hinh-keras-co-ban/" target="_blank" rel="noopener">B&agrave;i viết tiếp theo: C&aacute;ch vẽ đồ thị đường cong học tập của m&ocirc; h&igrave;nh</a></p> <p>&nbsp;</p> <hr /> <p style="text-align: center;"><em><strong>Fanpage Facebook:</strong>&nbsp;<a href="https://www.facebook.com/tek4.vn/">TEK4.VN</a></em>&nbsp;</p> <p style="text-align: center;"><em><strong>Tham gia cộng đồng để chia sẻ, trao đổi v&agrave; thảo luận:</strong>&nbsp;<a href="https://www.facebook.com/groups/tek4.vn/">TEK4.VN - Học Lập Tr&igrave;nh Miễn Ph&iacute;</a></em></p>