Chạy các mô hình Rừng quyết định TensorFlow với TensorFlow.js

Các hướng dẫn này giải thích cách huấn luyện mô hình TF-DF và chạy mô hình đó trên web bằng TensorFlow.js.

Hướng dẫn chi tiết

Huấn luyện người mẫu trong TF-DF

Để thử hướng dẫn này, trước tiên bạn cần có mô hình TF-DF. Bạn có thể sử dụng mô hình của riêng mình hoặc đào tạo mô hình bằng hướng dẫn dành cho người mới bắt đầu .

Nếu chỉ muốn đào tạo nhanh một mô hình trong Google Colab, bạn có thể sử dụng đoạn mã sau.

!pip install tensorflow_decision_forests -U -qq
import tensorflow as tf
import tensorflow_decision_forests as tfdf
import pandas as pd

# Download the dataset, load it into a pandas dataframe and convert it to TensorFlow format.
!wget -q https://storage.googleapis.com/download.tensorflow.org/data/palmer_penguins/penguins.csv -O /tmp/penguins.csv
dataset_df = pd.read_csv("/tmp/penguins.csv")
train_ds = tfdf.keras.pd_dataframe_to_tf_dataset(dataset_df, label="species")

# Create and train the model
model_1 = tfdf.keras.GradientBoostedTreesModel()
model_1.fit(train_ds)

Chuyển đổi mô hình

Các hướng dẫn tiếp theo giả định rằng bạn đã lưu mô hình TF-DF của mình theo đường dẫn /tmp/my_saved_model . Chạy đoạn mã sau để chuyển đổi mô hình sang TensorFlow.js.

!pip install tensorflow tensorflow_decision_forests 'tensorflowjs>=4.4.0'
!pip install tf_keras

# Prepare and load the model with TensorFlow
import tensorflow as tf
import tensorflowjs as tfjs
from google.colab import files

# Save the model in the SavedModel format
tf.saved_model.save(model_1, "/tmp/my_saved_model")

# Convert the SavedModel to TensorFlow.js and save as a zip file
tfjs.converters.tf_saved_model_conversion_v2.convert_tf_saved_model("/tmp/my_saved_model", "./tfjs_model")

# Download the converted TFJS model
!zip -r tfjs_model.zip tfjs_model/
files.download("tfjs_model.zip")

Khi Google Colab chạy xong, nó sẽ tải mô hình TFJS đã chuyển đổi xuống dưới dạng tệp zip.. Giải nén tệp này trước khi sử dụng trong bước tiếp theo.

Mô hình Tensorflow.js được giải nén bao gồm một số tệp. Mô hình ví dụ có nội dung sau:

  • tài sản.zip
  • nhóm1-shard1of1.bin
  • model.json

Sử dụng mô hình Tensorflow.js trên web

Sử dụng mẫu này để tải các phần phụ thuộc TFJS và chạy mô hình TFDF. Thay đổi đường dẫn mô hình đến nơi mô hình của bạn được phục vụ và sửa đổi tenxơ được cung cấp cho execAsync.

  <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@4.5.0/dist/tf.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-tfdf/dist/tf-tfdf.min.js"></script>
  <script>
    (async () =>{
      // Load the model.
      // Tensorflow.js currently needs the absolute path to the model including the full origin.
      const model = await tfdf.loadTFDFModel('https://path/to/unzipped/model/model.json');
      // Perform an inference
      const result = await model.executeAsync({
            "island": tf.tensor(["Torgersen"]),
            "bill_length_mm": tf.tensor([39.1]),
            "bill_depth_mm": tf.tensor([17.3]),
            "flipper_length_mm": tf.tensor([3.1]),
            "body_mass_g": tf.tensor([1000.0]),
            "sex": tf.tensor(["Female"]),
            "year": tf.tensor([2007], [1], 'int32'),
      });
      // The result is a 6-dimensional vector, the first half may be ignored
      result.print();
    })();
  </script>

Câu hỏi?

Hãy xem tài liệu về Rừng quyết định TensorFlowtài liệu về TensorFlow.js .