विन्यास
टीएफएमए अपने कॉन्फ़िगरेशन को एक प्रोटो में संग्रहीत करता है जो JSON पर क्रमबद्ध है। यह प्रोटो इनपुट डेटा, आउटपुट डेटा, मॉडल विनिर्देशों, मीट्रिक विनिर्देशों और स्लाइसिंग विनिर्देशों के लिए आवश्यक कॉन्फ़िगरेशन को समेकित करता है।
सभी टीएफएमए पाइपलाइन एक बेसलाइन (प्राथमिक) मॉडल और शून्य या अधिक उम्मीदवार (द्वितीयक) मॉडल से जुड़ी हैं। पाइपलाइन की शुरुआत में उपयोगकर्ता द्वारा बेसलाइन और उम्मीदवार मॉडल को परिभाषित किया जाता है और प्रत्येक को एक अद्वितीय नाम की आवश्यकता होती है। उपयोगकर्ता द्वारा उपयोग किए जा सकने वाले विशिष्ट कॉन्फ़िगरेशन सेटअप के उदाहरण निम्नलिखित हैं:
- एकल मॉडल मूल्यांकन:
- एन/ए (अर्थात् कोई नाम नहीं)
- सत्यापन-आधारित मूल्यांकन:
-
baseline
-
candidate
-
- मॉडल तुलना मूल्यांकन:
-
my_model_a
-
my_model_b
-
मॉडल विशिष्टताएँ
मॉडल स्पेक्स tfma.ModelSpec
प्रकार के होते हैं और इनका उपयोग किसी मॉडल के स्थान के साथ-साथ अन्य मॉडल विशिष्ट मापदंडों को परिभाषित करने के लिए किया जाता है। उदाहरण के लिए निम्नलिखित विशिष्ट सेटिंग्स हैं जिन्हें मूल्यांकन चलाने से पहले कॉन्फ़िगर करने की आवश्यकता होगी:
-
name
- मॉडल का नाम (यदि एकाधिक मॉडल का उपयोग किया जाता है) -
signature_name
- भविष्यवाणियों के लिए उपयोग किए जाने वाले हस्ताक्षर का नाम (डिफ़ॉल्टserving_default
है)। यदि EvalSavenModel का उपयोग कर रहे हैं तोeval
का उपयोग करें। -
label_key
- लेबल से जुड़े फीचर का नाम। -
example_weight_key
- उदाहरण भार के साथ संबद्ध सुविधा का नाम।
मेट्रिक्स विशिष्टताएँ
मेट्रिक्स स्पेक्स tfma.MetricsSpec
प्रकार के होते हैं और इनका उपयोग मेट्रिक्स को कॉन्फ़िगर करने के लिए किया जाता है जिनकी गणना मूल्यांकन के भाग के रूप में की जाएगी। विभिन्न मशीन लर्निंग समस्याएं विभिन्न प्रकार के मेट्रिक्स का उपयोग करती हैं और टीएफएमए गणना किए गए मेट्रिक्स को कॉन्फ़िगर और अनुकूलित करने के लिए बहुत सारे विकल्प प्रदान करता है। चूँकि मेट्रिक्स TFMA का एक बहुत बड़ा हिस्सा हैं, इसलिए मेट्रिक्स में उन पर अलग से विस्तार से चर्चा की गई है।
स्लाइसिंग विशिष्टताएँ
स्लाइसिंग स्पेक्स tfma.SlicingSpec
प्रकार के होते हैं और स्लाइस मानदंड को कॉन्फ़िगर करने के लिए उपयोग किए जाते हैं जिनका उपयोग मूल्यांकन के दौरान किया जाएगा। स्लाइसिंग या तो feature_keys
, feature_values
या दोनों द्वारा की जा सकती है। स्लाइसिंग स्पेक्स के कुछ उदाहरण इस प्रकार हैं:
-
{}
- समग्र डेटा से युक्त स्लाइस.
-
{ feature_keys: ["country"] }
- फ़ीचर "देश" में सभी मानों के लिए स्लाइस। उदाहरण के लिए, हमें "देश:हम", "देश:जेपी", आदि स्लाइस मिल सकते हैं।
-
{ feature_values: [{key: "country", value: "us"}] }
- स्लाइस में "देश:हम" शामिल है।
-
{ feature_keys: ["country", "city"] }
- फीचर "देश" में सभी मानों के स्लाइस को "शहर" फीचर में सभी मानों के साथ काट दिया गया है (ध्यान दें कि यह महंगा हो सकता है)।
-
{ feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
- फीचर "देश" में सभी मानों के स्लाइस को "आयु:20" मान से काट दिया गया
ध्यान दें कि फ़ीचर कुंजियाँ या तो रूपांतरित फ़ीचर या कच्ची इनपुट फ़ीचर हो सकती हैं। अधिक जानकारी के लिए tfma.SlicingSpec
देखें।
EvalSharedModel
कॉन्फ़िगरेशन सेटिंग्स के अलावा, TFMA को यह भी आवश्यक है कि एक ही प्रक्रिया में कई थ्रेड्स के बीच एक मॉडल साझा करने के लिए tfma.EvalSharedModel
का एक उदाहरण बनाया जाए। साझा मॉडल उदाहरण में मॉडल के प्रकार (केरस, आदि) और डिस्क पर उसके सहेजे गए स्थान से मॉडल को कैसे लोड और कॉन्फ़िगर किया जाए (जैसे टैग, आदि) के बारे में जानकारी शामिल है। tfma.default_eval_shared_model
API का उपयोग पथ और टैग के सेट को देखते हुए एक डिफ़ॉल्ट उदाहरण बनाने के लिए किया जा सकता है।