הוראות אלו מסבירות כיצד לאמן מודל 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
- 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 .