การเรียกใช้โมเดล TensorFlow Decision Forests ด้วย TensorFlow.js

คำแนะนำเหล่านี้จะอธิบายวิธีฝึกโมเดล TF-DF และเรียกใช้บนเว็บโดยใช้ TensorFlow.js

คำแนะนำโดยละเอียด

ฝึกโมเดลใน TF-DF

หากต้องการลองใช้บทช่วยสอนนี้ คุณต้องมีรุ่น TF-DF ก่อน คุณสามารถใช้โมเดลของคุณเองหรือฝึกโมเดลด้วย บทช่วยสอนสำหรับผู้เริ่มต้น

หากคุณต้องการฝึกโมเดลอย่างรวดเร็วใน Google Colab คุณสามารถใช้ข้อมูลโค้ดต่อไปนี้

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

แปลงโมเดล

คำแนะนำต่อไปนี้จะถือว่าคุณได้บันทึกโมเดล TF-DF ของคุณไว้ภายใต้พาธ /tmp/my_saved_model เรียกใช้ตัวอย่างต่อไปนี้เพื่อแปลงโมเดลเป็น 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")

เมื่อ Google Colab ทำงานเสร็จแล้ว ระบบจะดาวน์โหลดโมเดล TFJS ที่แปลงแล้วเป็นไฟล์ ZIP.. ให้แตกไฟล์นี้ก่อนนำไปใช้ในขั้นตอนถัดไป

โมเดล Tensorflow.js ที่คลายซิปแล้วประกอบด้วยไฟล์จำนวนหนึ่ง โมเดลตัวอย่างประกอบด้วยสิ่งต่อไปนี้:

  • Assets.zip
  • group1-shard1of1.bin
  • โมเดล.json

ใช้โมเดล Tensorflow.js บนเว็บ

ใช้เทมเพลตนี้เพื่อโหลดการอ้างอิง TFJS และเรียกใช้โมเดล TFDF เปลี่ยนเส้นทางโมเดลไปยังตำแหน่งที่ให้บริการโมเดลของคุณ และแก้ไขเทนเซอร์ที่กำหนดให้กับดำเนินการ Async

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

คำถาม?

ตรวจสอบ เอกสารประกอบ TensorFlow Decision Forests และ เอกสารประกอบ TensorFlow.js