اجرای مدل‌های 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 تبدیل شده را به عنوان یک فایل فشرده دانلود می کند. قبل از استفاده از آن در مرحله بعد، این فایل را از حالت فشرده خارج کنید.

یک مدل Tensorflow.js زیپ نشده از تعدادی فایل تشکیل شده است. مدل نمونه شامل موارد زیر است:

  • assets.zip
  • group1-shard1of1.bin
  • model.json

از مدل Tensorflow.js در وب استفاده کنید

از این الگو برای بارگیری وابستگی های TFJS و اجرای مدل TFDF استفاده کنید. مسیر مدل را به جایی که مدل شما ارائه می شود تغییر دهید و تانسور داده شده به executeAsync را تغییر دهید.

  <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 را بررسی کنید.