tek4

Sự Khác Biệt Giữa Keras Và Tf.keras – Keras Cơ Bản

by - September. 21, 2021
Học
Machine Learning
<p style="text-align: justify;">Ch&agrave;o mừng c&aacute;c bạn đến với b&agrave;i viết đầu ti&ecirc;n trong loạt b&agrave;i về&nbsp;<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 nhau t&igrave;m hiểu về sự kh&aacute;c nhau giữa keras v&agrave; tf.keras. Bắt đầu th&ocirc;i!</p> <p><img style="width: 707px; display: block; margin-left: auto; margin-right: auto;" src="http://tek4vn.2soft.top/public_files/41-png-1" alt="41" height="368" /></p> <p style="text-align: justify;"><a href="https://keras.io/" target="_blank" rel="noopener">Keras</a>&nbsp;l&agrave; một thư viện học s&acirc;u m&atilde; nguồn mở được viết bằng Python.&nbsp;Dự &aacute;n được bắt đầu v&agrave;o năm 2015 bởi&nbsp;<a href="https://twitter.com/fchollet" target="_blank" rel="noopener">Francois Chollet</a>. N&oacute; nhanh ch&oacute;ng trở th&agrave;nh một framework phổ biến cho c&aacute;c nh&agrave; ph&aacute;t triển v&agrave; trở th&agrave;nh một trong những thư viện học s&acirc;u phổ biến nhất hiện nay.</p> <p style="text-align: justify;">Trong giai đoạn 2015-2019, việc ph&aacute;t triển c&aacute;c m&ocirc; h&igrave;nh học s&acirc;u sử dụng c&aacute;c thư viện to&aacute;n học như TensorFlow, Theano v&agrave; PyTorch rất cồng kềnh, đ&ograve;i hỏi h&agrave;ng chục hoặc thậm ch&iacute; h&agrave;ng trăm d&ograve;ng m&atilde; để đạt được c&aacute;c t&aacute;c vụ đơn giản nhất. Trọng t&acirc;m của c&aacute;c thư viện n&agrave;y l&agrave; nghi&ecirc;n cứu, t&iacute;nh linh hoạt v&agrave; tốc độ chứ kh&ocirc;ng phải dễ sử dụng.</p> <p style="text-align: justify;">Keras rất phổ biến v&igrave; API sạch sẽ v&agrave; đơn giản, cho ph&eacute;p c&aacute;c m&ocirc; h&igrave;nh học s&acirc;u ti&ecirc;u chuẩn được x&aacute;c định, ph&ugrave; hợp v&agrave; đ&aacute;nh gi&aacute; chỉ trong một v&agrave;i d&ograve;ng m&atilde;.</p> <p style="text-align: justify;">L&yacute; do thứ hai khiến Keras th&agrave;nh c&ocirc;ng l&agrave; v&igrave; n&oacute; cho ph&eacute;p bạn sử dụng bất kỳ c&aacute;i n&agrave;o trong số c&aacute;c thư viện to&aacute;n học học s&acirc;u phổ biến l&agrave;m chương tr&igrave;nh phụ trợ (v&iacute; dụ: được sử dụng để thực hiện t&iacute;nh to&aacute;n), chẳng hạn như&nbsp;<a href="https://tek4.vn/tu-hoc-tensorflow-deep-learning-cho-nguoi-moi-bat-dau/" target="_blank" rel="noopener">TensorFlow</a>, Theano v&agrave; sau đ&oacute; l&agrave; CNTK. Điều n&agrave;y cho ph&eacute;p khai th&aacute;c sức mạnh của c&aacute;c thư viện n&agrave;y (v&iacute; dụ: GPU) với giao diện rất gọn g&agrave;ng v&agrave; đơn giản.</p> <p style="text-align: justify;">V&agrave;o năm 2019, Google đ&atilde; ph&aacute;t h&agrave;nh phi&ecirc;n bản mới của thư viện học s&acirc;u TensorFlow (TensorFlow 2) t&iacute;ch hợp trực tiếp API Keras v&agrave; quảng b&aacute; giao diện n&agrave;y l&agrave;m giao diện mặc định hoặc giao diện ti&ecirc;u chuẩn để ph&aacute;t triển học s&acirc;u tr&ecirc;n platform.</p> <p style="text-align: justify;">Sự t&iacute;ch hợp n&agrave;y thường được gọi l&agrave; giao diện tf.keras hoặc API (&ldquo;tf&rdquo; l&agrave; viết tắt của &ldquo;TensorFlow&rdquo;). Điều n&agrave;y l&agrave; để ph&acirc;n biệt n&oacute; với c&aacute;i gọi l&agrave; dự &aacute;n m&atilde; nguồn mở Keras độc lập.</p> <ul style="text-align: justify;"> <li><strong>Keras độc lập:</strong>&nbsp;Dự &aacute;n m&atilde; nguồn mở độc lập hỗ trợ c&aacute;c phụ trợ TensorFlow, Theano v&agrave; CNTK.</li> <li><strong>tf.keras:&nbsp;</strong>API Keras được t&iacute;ch hợp v&agrave;o TensorFlow 2.</li> </ul> <p style="text-align: justify;">Đ&oacute; ch&iacute;nh l&agrave; sự kh&aacute;c nhau cơ bản của keras v&agrave; tf.keras.</p> <p style="text-align: justify;">Việc triển khai Keras API trong Keras được gọi l&agrave; &ldquo;tf.keras&rdquo; v&igrave; đ&acirc;y l&agrave; th&agrave;nh ngữ Python được sử dụng khi tham chiếu đến API. Đầu ti&ecirc;n, m&ocirc;-đun TensorFlow được import v&agrave; đặt t&ecirc;n l&agrave; &ldquo;tf&rdquo;; Sau đ&oacute;, c&aacute;c phần tử API Keras được truy cập th&ocirc;ng qua c&aacute;c cuộc gọi tới tf.keras; V&iacute; dụ:</p> <pre class="language-python"><code># example of tf.keras python idiom import tensorflow as tf # use keras API model = tf.keras.Sequential() ...</code></pre> <p style="text-align: justify;">Do TensorFlow l&agrave; chương tr&igrave;nh phụ trợ ti&ecirc;u chuẩn tr&ecirc;n thực tế cho dự &aacute;n m&atilde; nguồn mở Keras, việc t&iacute;ch hợp c&oacute; nghĩa l&agrave; một thư viện duy nhất hiện c&oacute; thể được sử dụng thay v&igrave; hai thư viện ri&ecirc;ng biệt. Hơn nữa, dự &aacute;n Keras độc lập hiện khuyến nghị tất cả c&aacute;c ph&aacute;t triển Keras trong tương lai sử dụng API tf.keras.</p> <p style="text-align: justify;"><em>"Tại thời điểm n&agrave;y, ch&uacute;ng t&ocirc;i khuy&ecirc;n người d&ugrave;ng Keras sử dụng Keras đa phụ trợ với c&ocirc;ng cụ phụ trợ TensorFlow chuyển sang tf.keras trong TensorFlow 2.0. Tf.keras được duy tr&igrave; tốt hơn v&agrave; t&iacute;ch hợp tốt hơn với c&aacute;c t&iacute;nh năng của TensorFlow (thực thi, hỗ trợ ph&acirc;n phối v&agrave; c&aacute;c t&iacute;nh năng kh&aacute;c)."</em></p> <p style="text-align: justify;">&nbsp;</p>