TensorFlow.js là thư viện JavaScript để đào tạo và triển khai các mô hình học máy trong trình duyệt web và trong Node.js. Hướng dẫn này chỉ cho bạn cách bắt đầu với TensorFlow.js bằng cách đào tạo một mô hình tối thiểu trong trình duyệt và sử dụng mô hình đó để đưa ra dự đoán.
Mã ví dụ có sẵn trên GitHub .
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn cần cài đặt những thứ sau trong môi trường phát triển của mình:
Cài đặt ví dụ
Lấy mã nguồn và cài đặt các phụ thuộc:
- Sao chép hoặc tải xuống kho lưu trữ tfjs-examples .
- Chuyển sang thư mục
getting-started
:cd tfjs-examples/getting-started
. - Cài đặt phụ thuộc:
yarn install
.
Nếu nhìn vào tệp package.json
, bạn có thể nhận thấy rằng TensorFlow.js không phải là một phần phụ thuộc. Điều này là do ví dụ tải TensorFlow.js từ CDN. Đây là HTML hoàn chỉnh từ index.html
:
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest"> </script>
</head>
<body>
<h4>Tiny TFJS example<hr/></h4>
<div id="micro-out-div">Training...</div>
<script src="./index.js"> </script>
</body>
</html>
Phần tử <script>
trong phần đầu tải thư viện TensorFlow.js và phần tử <script>
ở cuối phần nội dung sẽ tải tập lệnh máy học.
Để biết các cách khác để phụ thuộc vào TensorFlow.js, hãy xem hướng dẫn thiết lập .
Chạy ví dụ
Chạy ví dụ và kiểm tra kết quả:
- Trong thư mục
tfjs-examples/getting-started
, hãy chạyyarn watch
. - Điều hướng đến
http://127.0.0.1:1234
trong trình duyệt của bạn.
Bạn sẽ thấy tiêu đề trang và bên dưới là một con số như 38.31612014770508 . Con số chính xác sẽ khác nhau, nhưng nó phải gần bằng 39.
Chuyện gì vừa xảy ra vậy?
Khi tải index.js
, nó sẽ huấn luyện một mô hình tf.sequential
bằng cách sử dụng các giá trị $ x $ và $ y $ thỏa mãn phương trình $ y = 2x - 1 $.
// Create a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
// Generate some synthetic data for training. (y = 2x - 1)
const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);
const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);
// Train the model using the data.
await model.fit(xs, ys, {epochs: 250});
Sau đó, nó dự đoán giá trị $ y $ cho giá trị $ x $ không nhìn thấy 20
và cập nhật DOM để hiển thị dự đoán.
// Use the model to do inference on a data point the model hasn't seen.
// Should print approximately 39.
document.getElementById('micro-out-div').innerText =
model.predict(tf.tensor2d([20], [1, 1])).dataSync();
Kết quả của $ 2 * 20 - 1 $ là 39, do đó giá trị $ y $ được dự đoán sẽ xấp xỉ 39.
Tiếp theo là gì
Hướng dẫn này cung cấp một ví dụ tối thiểu về cách sử dụng TensorFlow.js để huấn luyện mô hình trong trình duyệt. Để được giới thiệu sâu hơn về các mô hình đào tạo bằng JavaScript, hãy xem hướng dẫn TensorFlow.js.
Nhiều cách khác để bắt đầu
Dưới đây là nhiều cách khác để bắt đầu với TensorFlow.js và web ML.
Xem khóa học ML trên web TensorFlow.js
Nếu bạn là nhà phát triển web đang tìm kiếm phần giới thiệu thực tế về web ML, hãy xem khóa học video của Google Developers Học máy dành cho nhà phát triển web. Khóa học chỉ cho bạn cách sử dụng TensorFlow.js trong các trang web và ứng dụng của bạn.
Viết mã chương trình ML mà không cần xử lý trực tiếp với tensor
Nếu bạn muốn bắt đầu học máy mà không cần quản lý trình tối ưu hóa hoặc thao tác tensor, hãy xem thư viện ml5.js.
Được xây dựng dựa trên TensorFlow.js, thư viện ml5.js cung cấp quyền truy cập vào các mô hình và thuật toán học máy trong trình duyệt web với API ngắn gọn, dễ tiếp cận.
Cài đặt TensorFlow.js
Xem cách cài đặt TensorFlow.js để triển khai trong trình duyệt web hoặc Node.js.
Chuyển đổi các mô hình được đào tạo trước sang TensorFlow.js
Tìm hiểu cách chuyển đổi các mô hình được đào tạo trước từ Python sang TensorFlow.js.
Mô hình Keras Mô hình GraphDef
Tìm hiểu từ mã TensorFlow.js hiện có
Kho lưu trữ tfjs-examples
cung cấp các triển khai ví dụ nhỏ cho các tác vụ ML khác nhau bằng cách sử dụng TensorFlow.js.
Trực quan hóa hoạt động của mô hình TensorFlow.js của bạn
tfjs-vis
là một thư viện nhỏ để trực quan hóa trong trình duyệt web nhằm sử dụng với TensorFlow.js.
Xem tfjs-vis trên GitHub Xem Demo
Chuẩn bị dữ liệu để xử lý với TensorFlow.js
TensorFlow.js có hỗ trợ xử lý dữ liệu bằng các phương pháp hay nhất về ML.