การกำหนดค่าโมเดลที่บันทึกด้วย Eval

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

TensorFlow รุ่นวิเคราะห์ (Tfma) สามารถส่งออกรูปแบบของกราฟประเมินผลเพื่อพิเศษ SavedModel เรียก EvalSavedModel (หมายเหตุว่ากราฟการประเมินผลที่มีการใช้และไม่กราฟสำหรับการฝึกอบรมหรือการอนุมาน.) The 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

ตัวอย่างแบบ end-to-end

ลองกว้างขวาง ตัวอย่างแบบ end-to-end ที่มี TensorFlow แปลง สำหรับคุณลักษณะ preprocessing, TensorFlow ประมาณค่า สำหรับการฝึกอบรม TensorFlow รูปแบบการวิเคราะห์ และ Jupyter สำหรับการประเมินผลและ TensorFlow ให้บริการ สำหรับการให้บริการ

การเพิ่มเมตริกการส่งออกโพสต์แบบกำหนดเอง

หากคุณต้องการที่จะเพิ่มการส่งออกของตัวเองโพสต์ของคุณเองเมตริกใน Tfma กรุณาชำระเงินเอกสาร ที่นี่