การกำหนดค่า
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 สามารถใช้เพื่อสร้างอินสแตนซ์เริ่มต้นที่กำหนดเส้นทางและชุดแท็กได้