پیکربندی یک مدل ذخیره شده Eval

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 تبدیل برای پیش از ویژگی، TensorFlow برآوردگرهای برای آموزش، تجزیه و تحلیل مدل TensorFlow و Jupyter برای ارزیابی، و TensorFlow خدمت برای خدمت.

افزودن متریک صادرات پست سفارشی

اگر شما می خواهید برای اضافه کردن خود پست سفارشی صادرات متریک خود را در TFMA، لطفا مستندات پرداخت در اینجا .