Bir Değerlendirme Kaydedilmiş Modeli Yapılandırma

TensorFlow Modeli Analizi (TFMA) özel bir model değerlendirme grafiği dışa olabilir SavedModel adı EvalSavedModel . (Not Değerlendirme grafik eğitim veya çıkarım için grafik kullanılmaz ve bu.) EvalSavedModel TFMA veri ve büyük miktarda fazla dağıtılmış bir biçimde modelinde tanımlanan aynı değerlendirme ölçümlerini hesaplamak için izin veren ek bilgileri içeren kullanıcı tanımlı dilimler.

Mevcut bir modeli değiştirme

TFMA ile varolan modeli kullanmak için, ilk ihracat modelini değiştirmek EvalSavedModel . Bu bir çağrı ekleyerek yapılır tfma.export.export_eval_savedmodel ve benzer estimator.export_savedmodel . Örneğin:

# 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 tanımlandığı gibidir ve benzer olmalıdır serving_input_receiver_fn için estimator.export_savedmodel . Gibi serving_input_receiver_fn , eval_input_receiver_fn fonksiyonu, bir giriş tutucu örnek tanımlar örnekten özellikleri ayrıştırır ve çözümlenen özellikler verir. Etiketi ayrıştırır ve döndürür.

Aşağıdaki kod bir örnek tanımlar 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'])

Bu örnekte şunu görebilirsiniz:

  • labels de bir sözlük olabilir. Çok başlı bir model için kullanışlıdır.
  • eval_input_receiver_fn işlevi, büyük olasılıkla, sizin aynı olacaktır serving_input_receiver_fn fonksiyonu. Ancak bazı durumlarda dilimleme için ek özellikler tanımlamak isteyebilirsiniz. Örneğin, bir tanıtmak age_category böler özelliğini age birden fazla grupta içine özelliği. Ardından, modelinizin performansının farklı yaş kategorilerinde nasıl farklılık gösterdiğini anlamanıza yardımcı olması için TFMA'da bu özelliği kullanabilirsiniz.

Dışa Aktarma Sonrası Metrikleri Ekleme

Modelde yer almayan ek ölçütleri kullanarak aded edilebilir add_metrics_callbacks . Daha fazla ayrıntı için için Python yardımına bakın run_model_analysis .

Uçtan uca örnekler

Kapsamlı dene uçtan uca örneğini içeren TensorFlow Transform özelliği ön işlemeye yönelik TensorFlow Tahmincilerinin eğitim için, TensorFlow Modeli Analizi değerlendirilmesi için ve Jupyter ve Servis TensorFlow hizmet için.

Özel Dışa Aktarma Sonrası Metriği Ekleme

Eğer TFMA kendi özel yayın ihracat metrik eklemek isterseniz, belgeleri ödeme lütfen buraya .