TensorFlow मॉडल विश्लेषण (TFMA) एक विशेष के लिए एक मॉडल के मूल्यांकन ग्राफ निर्यात कर सकते हैं SavedModel
बुलाया EvalSavedModel
। (ध्यान दें कि मूल्यांकन ग्राफ प्रयोग किया जाता है और न प्रशिक्षण या अनुमान के लिए ग्राफ।) 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
।
एंड-टू-एंड उदाहरण
व्यापक प्रयास करें एंड-टू-एंड उदाहरण विशेषता TensorFlow रूपांतरण सुविधा पूर्व प्रसंस्करण, के लिए TensorFlow आकलनकर्ता प्रशिक्षण के लिए, TensorFlow मॉडल विश्लेषण और मूल्यांकन के लिए Jupyter, और TensorFlow सेवित की सेवा के लिए।
एक कस्टम पोस्ट निर्यात मीट्रिक जोड़ना
आप TFMA में अपने स्वयं के कस्टम पोस्ट निर्यात मीट्रिक जोड़ना चाहते हैं, तो प्रलेखन चेकआउट कृपया यहां ।