TensorFlow דגם ניתוח (TFMA) יכול לייצא גרף הערכה של מודל מיוחד SavedModel
שנקרא EvalSavedModel
. (הערה כי גרף ההערכה משמשת ולא בגרף לאימונים או היסק.) את EvalSavedModel
מכיל מידע נוסף המאפשר TFMA לחשב אותם מדדה להערכה מוגדרת במודל באופן מבוזר על פני כמות גדולה של נתונים המוגדר על ידי המשתמש פרוסות.
שנה דגם קיים
כדי להשתמש במודל קיים עם TFMA, ראשון לשנות את המודל כדי לייצא את EvalSavedModel
. הדבר נעשה על ידי הוספת קריאה tfma.export.export_eval_savedmodel
והוא דומה estimator.export_savedmodel
. לדוגמה:
# Define, train and export your estimator as usual
estimator = tf.estimator.DNNClassifier(...)
estimator.train(...)
estimator.export_savedmodel(...)
# Also export the EvalSavedModel
tfma.export.export_eval_savedmodel(
estimator=estimator, export_dir_base=export_dir,
eval_input_receiver_fn=eval_input_receiver_fn)
eval_input_receiver_fn
חייב להיות מוגדר דומה serving_input_receiver_fn
עבור estimator.export_savedmodel
. כמו serving_input_receiver_fn
, את eval_input_receiver_fn
הפונקציה מגדירה דוגמה מציינת מיקום קלט, מנתחת את התכונות מדוגמה, ומחזירה את התכונות המנותחות. זה מנתח ומחזיר את התווית.
הקוד הבא מגדיר דוגמה eval_input_receiver_fn
:
country = tf.feature_column.categorical_column_with_hash('country', 100)
language = tf.feature_column.categorical_column_with_hash('language', 100)
age = tf.feature_column.numeric_column('age')
label = tf.feature_column.numeric_column('label')
def eval_input_receiver_fn():
serialized_tf_example = tf.compat.v1.placeholder(
dtype=tf.string, shape=[None], name='input_example_placeholder')
# This *must* be a dictionary containing a single key 'examples', which
# points to the input placeholder.
receiver_tensors = {'examples': serialized_tf_example}
feature_spec = tf.feature_column.make_parse_example_spec(
[country, language, age, label])
features = tf.io.parse_example(serialized_tf_example, feature_spec)
return tfma.export.EvalInputReceiver(
features=features,
receiver_tensors=receiver_tensors,
labels=features['label'])
בדוגמה זו אתה יכול לראות ש:
-
labels
יכולות להיות גם מילון. שימושי לדגם רב ראשים. -
eval_input_receiver_fn
הפונקציה תהיה, ככל הנראה, להיות הזהה שלךserving_input_receiver_fn
פונקציה. אבל, במקרים מסוימים, ייתכן שתרצה להגדיר תכונות נוספות לחיתוך. לדוגמה, אתה להכניסage_category
תכונה המחלקת אתage
תכונה לסלים מרובים. לאחר מכן תוכל לחלק את התכונה הזו ב-TFMA כדי לעזור להבין כיצד הביצועים של הדגם שלך שונים בין קטגוריות גיל שונות.
הוספת מדדי פוסט ייצוא
ערכים נוספים שאינם כלולים במודל ניתן aded באמצעות add_metrics_callbacks
. לפרטים נוספים, עיין בעזרת פייתון run_model_analysis
.
דוגמאות מקצה לקצה
נסה את נרחב למשל מקצה לקצה הכולל TensorFlow Transform עבור עיבוד מקדים תכונה, אומדי TensorFlow לאימונים, ניתוח דגם TensorFlow ו Jupyter להערכה, ואת TensorFlow הגשה להגשה.
הוספת מדד פוסט ייצוא מותאם אישית
אם אתה רוצה להוסיף מטרי יצוא העברת אישית משלך TFMA, אנא לקופה בתיעוד כאן .