Bắt đầu với TensorFlow.js

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:

  1. Sao chép hoặc tải xuống kho lưu trữ tfjs-examples .
  2. Chuyển sang thư mục getting-started : cd tfjs-examples/getting-started .
  3. 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ả:

  1. Trong thư mục tfjs-examples/getting-started , hãy chạy yarn watch .
  2. Đ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.

Truy cập khóa học ML trên web

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.

Kiểm tra ml5.js

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.

Cài đặt TensorFlow.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.

Xem ví dụ về tfjs trên GitHub

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.

Xem tài liệu