การตั้งค่าการวิเคราะห์โมเดล Tensorflow

การกำหนดค่า

TFMA เก็บการกำหนดค่าไว้ใน โปรโต ที่ต่อเนื่องเป็น JSON ต้นแบบนี้จะรวมการกำหนดค่าที่จำเป็นสำหรับข้อมูลอินพุต ข้อมูลเอาต์พุต ข้อมูลจำเพาะของโมเดล ข้อกำหนดเมตริก และข้อกำหนดเฉพาะของการแบ่งส่วน

ไปป์ไลน์ TFMA ทั้งหมดเชื่อมโยงกับโมเดลพื้นฐาน (หลัก) และโมเดลตัวเลือก (รอง) เป็นศูนย์หรือมากกว่า โมเดลพื้นฐานและโมเดลผู้สมัครถูกกำหนดโดยผู้ใช้ที่จุดเริ่มต้นของไปป์ไลน์ และแต่ละโมเดลจำเป็นต้องมีชื่อที่ไม่ซ้ำกัน ต่อไปนี้เป็นตัวอย่างการตั้งค่าทั่วไปที่ผู้ใช้อาจใช้:

  • การประเมินแบบจำลองเดียว:
    • N/A (เช่น ไม่มีชื่อ)
  • การประเมินตามการตรวจสอบความถูกต้อง:
    • baseline
    • candidate
  • การประเมินการเปรียบเทียบแบบจำลอง:
    • my_model_a
    • my_model_b

ข้อมูลจำเพาะของรุ่น

ข้อมูลจำเพาะของโมเดลเป็นประเภท tfma.ModelSpec และใช้เพื่อกำหนดตำแหน่งของโมเดลตลอดจนพารามิเตอร์เฉพาะโมเดลอื่นๆ ตัวอย่างเช่นต่อไปนี้เป็นการตั้งค่าทั่วไปที่จะต้องกำหนดค่าก่อนที่จะรันการประเมิน:

  • name - ชื่อรุ่น (หากใช้หลายรุ่น)
  • signature_name - ชื่อของลายเซ็นที่ใช้สำหรับการคาดคะเน (ค่าเริ่มต้นคือ serving_default ) ใช้ eval หากใช้ EvalSavedModel
  • label_key - ชื่อของคุณสมบัติที่เกี่ยวข้องกับป้ายกำกับ
  • example_weight_key - ชื่อของคุณลักษณะที่เกี่ยวข้องกับน้ำหนักตัวอย่าง

ข้อมูลจำเพาะของเมตริก

ข้อมูลจำเพาะของตัววัดเป็นประเภท tfma.MetricsSpec และใช้ในการกำหนดค่าตัววัดที่จะคำนวณโดยเป็นส่วนหนึ่งของการประเมิน ปัญหาการเรียนรู้ของเครื่องที่แตกต่างกันใช้ตัววัดประเภทต่างๆ และ TFMA มีตัวเลือกมากมายสำหรับการกำหนดค่าและปรับแต่งตัววัดที่คำนวณ เนื่องจากตัวชี้วัดเป็นส่วนที่ใหญ่มากของ TFMA จึงมีการอภิปรายรายละเอียดแยกกันใน ตัวชี้วัด

ข้อมูลจำเพาะของการหั่น

ข้อมูลจำเพาะของการแบ่งส่วนเป็นประเภท tfma.SlicingSpec และใช้ในการกำหนดค่าเกณฑ์การแบ่งส่วนที่จะใช้ในระหว่างการประเมิน การแบ่งส่วนสามารถทำได้โดยใช้ feature_keys , feature_values ​​หรือทั้งสองอย่าง ตัวอย่างของข้อกำหนดการแบ่งส่วนมีดังนี้:

  • {}
    • ชิ้นประกอบด้วยข้อมูลโดยรวม
  • { feature_keys: ["country"] }
    • ส่วนสำหรับค่าทั้งหมดในคุณลักษณะ "ประเทศ" ตัวอย่างเช่น เราอาจได้รับส่วนแบ่ง "country:us", "country:jp" เป็นต้น
  • { feature_values: [{key: "country", value: "us"}] }
    • ชิ้นที่ประกอบด้วย "country:us"
  • { feature_keys: ["country", "city"] }
    • ส่วนสำหรับค่าทั้งหมดในคุณลักษณะ "ประเทศ" ข้ามกับค่าทั้งหมดในคุณลักษณะ "เมือง" (โปรดทราบว่าอาจมีราคาแพง)
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • ส่วนสำหรับค่าทั้งหมดในคุณลักษณะ "ประเทศ" กากบาทด้วยค่า "อายุ: 20"

โปรดทราบว่าคีย์คุณสมบัติอาจเป็นคุณสมบัติที่ได้รับการแปลงหรือคุณสมบัติอินพุตแบบดิบ ดู tfma.SlicingSpec สำหรับข้อมูลเพิ่มเติม

EvalSharedModel

นอกเหนือจากการตั้งค่าคอนฟิกูเรชันแล้ว TFMA ยังกำหนดให้สร้างอินสแตนซ์ของ tfma.EvalSharedModel เพื่อแชร์โมเดลระหว่างหลายเธรดในกระบวนการเดียวกัน อินสแตนซ์โมเดลที่ใช้ร่วมกันประกอบด้วยข้อมูลเกี่ยวกับประเภทของโมเดล (keras ฯลฯ) และวิธีการโหลดและกำหนดค่าโมเดลจากตำแหน่งที่บันทึกไว้บนดิสก์ (เช่น แท็ก ฯลฯ) tfma.default_eval_shared_model API สามารถใช้เพื่อสร้างอินสแตนซ์เริ่มต้นที่กำหนดเส้นทางและชุดแท็กได้