Menjalankan model TensorFlow Decision Forests dengan TensorFlow.js

Petunjuk ini menjelaskan cara melatih model TF-DF dan menjalankannya di web menggunakan TensorFlow.js.

Instruksi terperinci

Latih model di TF-DF

Untuk mencoba tutorial ini, Anda memerlukan model TF-DF terlebih dahulu. Anda dapat menggunakan model Anda sendiri atau melatih model dengan tutorial Pemula .

Jika Anda hanya ingin melatih model dengan cepat di Google Colab, Anda dapat menggunakan cuplikan kode berikut.

!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)

Konversikan modelnya

Petunjuk selanjutnya berasumsi bahwa Anda telah menyimpan model TF-DF di jalur /tmp/my_saved_model . Jalankan cuplikan berikut untuk mengonversi model ke 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")

Saat Google Colab selesai berjalan, Google Colab akan mengunduh model TFJS yang dikonversi sebagai file zip.. Buka zip file ini sebelum digunakan pada langkah berikutnya.

Model Tensorflow.js yang tidak di-zip terdiri dari sejumlah file. Model contoh berisi yang berikut ini:

  • aset.zip
  • grup1-shard1of1.bin
  • model.json

Gunakan model Tensorflow.js di web

Gunakan templat ini untuk memuat dependensi TFJS dan menjalankan model TFDF. Ubah jalur model ke tempat model Anda disajikan dan ubah tensor yang diberikan untuk mengeksekusiAsync.

  <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>

Pertanyaan?

Lihat dokumentasi TensorFlow Decision Forests dan dokumentasi TensorFlow.js .