इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

TFX उपयोगकर्ता गाइड

परिचय

TFX एक Google-प्रोडक्शन-स्केल मशीन लर्निंग (ML) प्लेटफॉर्म है, जो TensorFlow पर आधारित है। यह आपके मशीन लर्निंग सिस्टम को परिभाषित, लॉन्च और मॉनिटर करने के लिए आवश्यक सामान्य घटकों को एकीकृत करने के लिए एक कॉन्फ़िगरेशन फ्रेमवर्क और साझा लाइब्रेरी प्रदान करता है।

स्थापना

अजगर PyPI

pip install tfx

रात के पैकेज

TFX भी Google क्लाउड पर https://pypi-nightly.tensorflow.org पर रात के पैकेज को होस्ट करता है। नवीनतम रात के पैकेज को स्थापित करने के लिए, कृपया निम्न आदेश का उपयोग करें:

pip install -i https://pypi-nightly.tensorflow.org/simple tfx

यह TFX की प्रमुख निर्भरता जैसे TensorFlow Model Analysis (TFMA), TensorFlow Data Validation (TFDV), TensorFlow Transform (TFT), TFX Basiceded पुस्तकालयों (TFX-BSL), ML मेटाडेटा (MLMD) के लिए रात के पैकेज को स्थापित करेगा।

TFX के बारे में

टीएफएक्स उत्पादन वातावरण में एमएल वर्कफ़्लोज़ के निर्माण और प्रबंधन के लिए एक मंच है। TFX निम्नलिखित प्रदान करता है:

  • एमएल पाइपलाइनों के निर्माण के लिए एक टूलकिट। TFX पाइपलाइन आपको अपने ML वर्कफ़्लो को कई प्लेटफार्मों पर ऑर्केस्ट्रेट करने देती है, जैसे: Apache Airflow, Apache Beam और Kubeflow पाइपलाइन।

    TFX पाइपलाइनों के बारे में अधिक जानें

  • मानक घटकों का एक सेट जिसे आप पाइपलाइन के एक भाग के रूप में, या अपने एमएल प्रशिक्षण स्क्रिप्ट के एक भाग के रूप में उपयोग कर सकते हैं। टीएफएक्स मानक घटक आपको एक एमएल प्रक्रिया आसानी से शुरू करने में मदद करने के लिए सिद्ध कार्यक्षमता प्रदान करते हैं।

    TFX मानक घटकों के बारे में अधिक जानें

  • पुस्तकालय जो कई मानक घटकों के लिए आधार कार्यक्षमता प्रदान करते हैं। आप अपने स्वयं के कस्टम घटकों में इस कार्यक्षमता को जोड़ने के लिए TFX पुस्तकालयों का उपयोग कर सकते हैं, या उन्हें अलग से उपयोग कर सकते हैं।

    TFX पुस्तकालयों के बारे में अधिक जानें

TFX एक Google-प्रोडक्शन-स्केल मशीन लर्निंग टूलकिट है, जो TensorFlow पर आधारित है। यह आपके मशीन लर्निंग सिस्टम को परिभाषित, लॉन्च और मॉनिटर करने के लिए आवश्यक सामान्य घटकों को एकीकृत करने के लिए एक कॉन्फ़िगरेशन फ्रेमवर्क और साझा लाइब्रेरी प्रदान करता है।

TFX मानक घटक

टीएफएक्स पाइपलाइन घटकों का एक अनुक्रम है जो एक एमएल पाइपलाइन को लागू करता है जो विशेष रूप से स्केलेबल, उच्च-प्रदर्शन मशीन सीखने के कार्यों के लिए डिज़ाइन किया गया है। जिसमें मॉडलिंग, प्रशिक्षण, सेवा प्रदान करना, और ऑनलाइन, देशी मोबाइल और जावास्क्रिप्ट लक्ष्य के लिए तैनाती को प्रबंधित करना शामिल है।

TFX पाइपलाइन में आमतौर पर निम्नलिखित घटक शामिल होते हैं:

  • ExampleGen एक पाइपलाइन का प्रारंभिक इनपुट घटक है, जो इनपुट डेटासेट्स को अंतर्ग्रहण और वैकल्पिक रूप से विभाजित करता है।

  • StatisticsGen डाटासेट के लिए आँकड़े गणना करता है।

  • SchemaGen आँकड़ों की जाँच करता है और एक डेटा स्कीमा बनाता है।

  • ExampleValidator डेटासेट में विसंगतियों और अनुपलब्ध मानों की तलाश करता है।

  • ट्रांसफॉर्मर डेटासेट पर इंजीनियरिंग की सुविधा देता है।

  • ट्रेनर मॉडल को ट्रेनिंग देता है।

  • ट्यूनर मॉडल के हाइपरपैरमीटर को ट्यून करता है।

  • मूल्यांकनकर्ता प्रशिक्षण परिणामों का गहन विश्लेषण करता है और आपको अपने निर्यात किए गए मॉडल को मान्य करने में मदद करता है, यह सुनिश्चित करता है कि वे उत्पादन के लिए धकेलने के लिए "अच्छे पर्याप्त" हैं।

  • InfraValidator चेक करता है कि मॉडल वास्तव में बुनियादी ढांचे से सेवा योग्य है, और खराब मॉडल को धकेलने से रोकता है।

  • पुशर एक सेवारत बुनियादी ढाँचे पर मॉडल प्रस्तुत करता है।

  • BulkInferrer एक मॉडल पर बैच प्रोसेसिंग करता है जिसमें अनलिमिटेड इनविज़न रिक्वेस्ट होती है।

यह आरेख इन घटकों के बीच डेटा के प्रवाह को दिखाता है:

घटक प्रवाह

TFX लाइब्रेरी

TFX में पुस्तकालयों और पाइपलाइन घटकों दोनों शामिल हैं। यह आरेख TFX पुस्तकालयों और पाइपलाइन घटकों के बीच संबंधों को दिखाता है:

पुस्तकालय और घटक

टीएफएक्स कई पायथन पैकेज प्रदान करता है जो कि पुस्तकालय हैं जो पाइपलाइन घटकों को बनाने के लिए उपयोग किए जाते हैं। अपनी पाइपलाइनों के घटकों को बनाने के लिए आप इन पुस्तकालयों का उपयोग करेंगे ताकि आपका कोड आपके पाइपलाइन के अनूठे पहलुओं पर ध्यान केंद्रित कर सके।

TFX पुस्तकालयों में शामिल हैं:

  • TensorFlow Data Validation (TFDV) मशीन लर्निंग डेटा के विश्लेषण और सत्यापन के लिए एक पुस्तकालय है। यह अत्यधिक स्केलेबल और TensorFlow और TFX के साथ अच्छी तरह से काम करने के लिए डिज़ाइन किया गया है। TFDV में शामिल हैं:

    • प्रशिक्षण और परीक्षण डेटा के सारांश आंकड़ों की स्केलेबल गणना।
    • डेटा वितरण और आँकड़ों के लिए एक दर्शक के साथ एकीकरण, साथ ही डेटासेट्स (पहलुओं) के जोड़े की मुखर तुलना।

    • आवश्यक मूल्यों, श्रेणियों और शब्दसंग्रह जैसे डेटा के बारे में अपेक्षाओं का वर्णन करने के लिए स्वचालित डेटा-स्कीमा पीढ़ी।

    • स्कीमा देखने में मदद करने के लिए एक स्कीमा दर्शक।

    • विसंगतियों का पता लगाने के लिए विसंगतियों का पता लगाना, जैसे कि गुम सुविधाएँ, कुछ मूल्यों के नाम, या गलत फ़ीचर प्रकार।

    • एक विसंगति दर्शक ताकि आप देख सकें कि किन विशेषताओं में विसंगतियाँ हैं और उन्हें ठीक करने के लिए और अधिक सीखें।

  • TensorFlow Transform (TFT) TensorFlow के साथ डेटा प्रीप्रोसेस करने के लिए एक लाइब्रेरी है। TensorFlow Transform डेटा के लिए उपयोगी है जिसके लिए पूर्ण-पास की आवश्यकता होती है, जैसे:

    • औसत और मानक विचलन द्वारा एक इनपुट मूल्य को सामान्य करें।
    • सभी इनपुट मानों पर एक शब्दावली उत्पन्न करके पूर्णांक में स्ट्रिंग बदलें।
    • मनाया डेटा वितरण के आधार पर उन्हें बाल्टी में असाइन करके पूर्णांक में फ़्लोट में कनवर्ट करें।
  • TensorFlow का उपयोग TFX के साथ प्रशिक्षण मॉडल के लिए किया जाता है। यह प्रशिक्षण डेटा और मॉडलिंग कोड को सम्मिलित करता है और एक SavedModel परिणाम बनाता है। यह इनपुट डेटा के प्रीप्रोसेसिंग के लिए TensorFlow Transform द्वारा बनाई गई एक फीचर इंजीनियरिंग पाइपलाइन को भी एकीकृत करता है।

    KerasTuner को मॉडल के लिए हाइपरपैरमीटर ट्यूनिंग के लिए उपयोग किया जाता है।

  • TensorFlow मॉडल विश्लेषण (TFMA) TensorFlow मॉडल के मूल्यांकन के लिए एक पुस्तकालय है। इसका उपयोग TensorFlow के साथ एक EvalSavedModel बनाने के लिए किया जाता है, जो इसके विश्लेषण का आधार बन जाता है। यह उपयोगकर्ताओं को अपने ट्रेनर में परिभाषित समान मैट्रिक्स का उपयोग करके वितरित तरीके से बड़ी मात्रा में डेटा पर अपने मॉडल का मूल्यांकन करने की अनुमति देता है। इन मैट्रिक्स की गणना डेटा के विभिन्न स्लाइस पर की जा सकती है और जुपिटर नोटबुक में कल्पना की जा सकती है।

  • TensorFlow मेटाडाटा (TFMD) मेटाडेटा के लिए मानक प्रतिनिधित्व प्रदान करता है जो TensorFlow के साथ प्रशिक्षण मशीन सीखने के मॉडल के लिए उपयोगी होते हैं। मेटाडेटा हाथ से या स्वचालित रूप से इनपुट डेटा विश्लेषण के दौरान उत्पादित किया जा सकता है, और डेटा सत्यापन, अन्वेषण और परिवर्तन के लिए उपभोग किया जा सकता है। मेटाडेटा क्रमांकन प्रारूप में शामिल हैं:

    • सारणीबद्ध डेटा (जैसे, tf.Examples) का वर्णन करने वाला एक स्कीमा।
    • ऐसे डेटासेट पर सारांश आंकड़ों का संग्रह।
  • एमएल मेटाडेटा (एमएलएमडी) एमएल डेवलपर और डेटा वैज्ञानिक वर्कफ़्लोज़ से जुड़े मेटाडेटा को रिकॉर्ड करने और पुनर्प्राप्त करने के लिए एक पुस्तकालय है। अक्सर मेटाडेटा TFMD प्रतिनिधित्व का उपयोग करता है। MLMD SQL-Lite , MySQL और अन्य समान डेटा स्टोर का उपयोग करके दृढ़ता का प्रबंधन करता है।

सहायक प्रौद्योगिकी

अपेक्षित

  • अपाचे बीम एक खुला स्रोत है, जो बैच को परिभाषित करने और डेटा-समानांतर प्रसंस्करण पाइपलाइनों को स्ट्रीमिंग करने के लिए एकीकृत मॉडल है। TFX डेटा समानांतर पाइपलाइनों को लागू करने के लिए अपाचे बीम का उपयोग करता है। फिर पाइप लाइन को बीम के समर्थित वितरित प्रसंस्करण बैक-एंड में से एक द्वारा निष्पादित किया जाता है, जिसमें अपाचे फ्लिंक, अपाचे स्पार्क, Google क्लाउड डेटाफ़्लो , और अन्य शामिल हैं।

ऐच्छिक

अपाचे एयरफ्लो और क्यूबफ्लो जैसे ऑर्केस्ट्रेटर एक एमएल पाइपलाइन को कॉन्फ़िगर करना, संचालन, निगरानी और रखरखाव करना आसान बनाते हैं।

  • अपाचे एयरफ्लो प्रोग्रामेटिकली ऑथर, शेड्यूल और मॉनिटर वर्कफ़्लोज़ का एक प्लेटफ़ॉर्म है। टीएफएक्स एयरफ्लो का उपयोग लेखक वर्कफ़्लोज़ को कार्यों के निर्देशित एसाइक्लिक ग्राफ (डीएजी) के रूप में करता है। एयरफ्लो शेड्यूलर निर्दिष्ट निर्भरता का पालन करते हुए श्रमिकों की एक सरणी पर कार्यों को निष्पादित करता है। रिच कमांड लाइन उपयोगिताओं DAGs एक तस्वीर पर जटिल सर्जरी कर रही है। समृद्ध उपयोगकर्ता इंटरफ़ेस उत्पादन में चल रही पाइपलाइनों की कल्पना करना, प्रगति की निगरानी करना और आवश्यकता पड़ने पर समस्याओं का निवारण करना आसान बनाता है। जब वर्कफ़्लोज़ को कोड के रूप में परिभाषित किया जाता है, तो वे अधिक रखरखाव योग्य, संस्करण, परीक्षण योग्य और सहयोगी बन जाते हैं।

  • क्यूबफ़्लो कुबेरनेट्स पर मशीन लर्निंग (एमएल) वर्कफ़्लो की तैनाती को सरल, पोर्टेबल और स्केलेबल बनाने के लिए समर्पित है। क्यूबफ़्लो का लक्ष्य अन्य सेवाओं को फिर से बनाना नहीं है, बल्कि विभिन्न इन्फ्रास्ट्रक्चर के लिए एमएल के लिए सबसे अच्छी नस्ल के ओपन-सोर्स सिस्टम को तैनात करने का एक सीधा तरीका प्रदान करना है। Kubeflow पाइपलाइन प्रयोगों और नोटबुक आधारित अनुभवों के साथ एकीकृत, Kubeflow पर प्रतिलिपि प्रस्तुत करने योग्य वर्कफ़्लोज़ की संरचना और निष्पादन को सक्षम करता है। कुबेरनेट पर क्यूबफ़्लो पाइपलाइन सेवाओं में उपयोगकर्ताओं को बड़े पैमाने पर जटिल एमएल पाइपलाइनों को विकसित करने, चलाने और प्रबंधित करने में मदद करने के लिए होस्टेड मेटाडेटा स्टोर, कंटेनर आधारित ऑर्केस्ट्रेशन इंजन, नोटबुक सर्वर और यूआई शामिल हैं। Kubeflow पाइपलाइनों SDK घटकों और रचनाओं की संरचना को प्रोग्रामेटिक रूप से बनाने और साझा करने की अनुमति देता है।

पोर्टेबिलिटी और इंटरऑपरेबिलिटी

TFX को अपाचे एयरफ्लो , अपाचे बीम और क्यूबफ्लो सहित कई वातावरण और ऑर्केस्ट्रेशन फ्रेमवर्क के लिए पोर्टेबल बनाया गया है। यह विभिन्न कंप्यूटिंग प्लेटफार्मों के लिए पोर्टेबल है, जिसमें ऑन-प्रिमाइस और क्लाउड प्लेटफ़ॉर्म जैसे Google क्लाउड प्लेटफ़ॉर्म (GCP) शामिल हैं । विशेष रूप से, TFX सर्वर के साथ GCP सेवाओं को प्रबंधित करता है, जैसे प्रशिक्षण और पूर्वानुमान के लिए क्लाउड AI प्लेटफ़ॉर्म , और ML जीवनचक्र के कई अन्य पहलुओं के लिए वितरित डेटा प्रोसेसिंग के लिए क्लाउड डेटाफ़्लो

मॉडल बनाम सेव्डमॉडल

नमूना

एक मॉडल प्रशिक्षण प्रक्रिया का आउटपुट है। यह वजन का क्रमबद्ध रिकॉर्ड है जो प्रशिक्षण प्रक्रिया के दौरान सीखा गया है। इन वज़न को बाद में नए इनपुट उदाहरणों के लिए भविष्यवाणियों की गणना करने के लिए उपयोग किया जा सकता है। TFX और TensorFlow के लिए, 'मॉडल' से तात्पर्य उन चौकियों से है जो उस बिंदु तक सीखी गई वज़न वाली होती हैं।

ध्यान दें कि 'मॉडल' भी TensorFlow अभिकलन ग्राफ (यानी पायथन फ़ाइल) की परिभाषा को संदर्भित कर सकता है जो व्यक्त करता है कि एक भविष्यवाणी कैसे गणना की जाएगी। संदर्भ के आधार पर दो इंद्रियों का परस्पर उपयोग किया जा सकता है।

SavedModel

  • एक SavedModel क्या है : एक सार्वभौमिक, भाषा-तटस्थ, सुरीला, एक TensorFlow मॉडल का पुनर्प्राप्त करने योग्य क्रमांकन।
  • यह महत्वपूर्ण क्यों है : यह उच्च-स्तरीय प्रणालियों को एक अमूर्तता का उपयोग करके TensorFlow मॉडल का उत्पादन, रूपांतरण और उपभोग करने में सक्षम बनाता है।

SavedModel उत्पादन में एक TensorFlow मॉडल की सेवा के लिए अनुशंसित देशीकरण प्रारूप है, या एक देशी मोबाइल या जावास्क्रिप्ट एप्लिकेशन के लिए एक प्रशिक्षित मॉडल का निर्यात करता है। उदाहरण के लिए, पूर्वानुमान बनाने के लिए एक मॉडल को REST सेवा में बदलने के लिए, आप मॉडल को SavedModel के रूप में क्रमबद्ध कर सकते हैं और TensorFlow Serving का उपयोग करके इसकी सेवा कर सकते हैं। अधिक जानकारी के लिए एक TensorFlow मॉडल की सेवा देखें।

योजना

कुछ TFX घटक आपके इनपुट डेटा के विवरण का उपयोग करते हैं जिन्हें स्कीमा कहा जाता है। स्कीमा, स्कीमा.प्रोटो का एक उदाहरण है। स्कीमा एक प्रकार के प्रोटोकॉल बफर हैं , जिन्हें आमतौर पर "प्रोटोबॉफ़" के रूप में जाना जाता है। स्कीमा फीचर मानों के लिए डेटा प्रकार निर्दिष्ट कर सकती है, चाहे एक विशेषता को सभी उदाहरणों में मौजूद होना चाहिए, मूल्य सीमाएं, और अन्य गुण। TensorFlow Data Validation (TFDV) का उपयोग करने के लाभों में से एक यह है कि यह प्रशिक्षण डेटा से प्रकार, श्रेणियों और श्रेणियों को स्वचालित रूप से एक स्कीमा उत्पन्न करेगा।

यहाँ एक स्कीमा प्रोटोबुफ़ का एक अंश दिया गया है:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

निम्न घटक स्कीमा का उपयोग करते हैं:

  • TensorFlow Data Validation
  • TensorFlow रूपांतरण

एक ठेठ TFX पाइपलाइन TensorFlow Data Validation में एक स्कीमा उत्पन्न करता है, जिसका उपभोग अन्य घटकों द्वारा किया जाता है।

TFX के साथ विकसित करना

TFX मशीन लर्निंग प्रोजेक्ट के हर चरण के लिए, रिसर्च, एक्सपेरिमेंट और डेवलपमेंट से लेकर आपके स्थानीय मशीन पर तैनाती तक के लिए एक शक्तिशाली मंच प्रदान करता है। कोड दोहराव से बचने और प्रशिक्षण / सेवारत तिरछा करने की क्षमता को समाप्त करने के लिए, मॉडल मॉडल प्रशिक्षण और प्रशिक्षण मॉडल की तैनाती दोनों के लिए अपनी TFX पाइपलाइन को लागू करने के लिए दृढ़ता से अनुशंसा की जाती है, और ट्रांसफ़ॉर्म घटकों का उपयोग करें जो प्रशिक्षण और अनुमान दोनों के लिए TensorFlow Transform पुस्तकालय का लाभ उठाते हैं। ऐसा करने से आप समान प्रीप्रोसेसिंग और विश्लेषण कोड का लगातार उपयोग करेंगे, और प्रशिक्षण के लिए उपयोग किए जाने वाले डेटा और उत्पादन में अपने प्रशिक्षित मॉडल को खिलाए गए डेटा के बीच के अंतर से बचें, साथ ही साथ उस कोड को एक बार लिखने से लाभ होगा।

डेटा अन्वेषण, विज़ुअलाइज़ेशन, और सफाई

डेटा अन्वेषण, विज़ुअलाइज़ेशन, और सफाई

TFX पाइपलाइन आम तौर पर एक ExampleGen घटक के साथ शुरू होती है, जो इनपुट डेटा को स्वीकार करता है और इसे tf.Examples के रूप में प्रारूपित करता है। अक्सर यह डेटा प्रशिक्षण और मूल्यांकन डेटासेट में विभाजित होने के बाद किया जाता है ताकि वास्तव में उदाहरण स्वरूप घटकों की दो प्रतियां हों, प्रशिक्षण और मूल्यांकन के लिए एक-एक। इसके बाद आम तौर पर एक सांख्यिकीगैन घटक और एक स्कीमेंन घटक का पालन किया जाता है, जो आपके डेटा की जांच करेगा और एक डेटा स्कीमा और आंकड़ों का अनुमान लगाएगा । स्कीमा और आँकड़ों का सेवन एक उदाहरणवेद्य घटक द्वारा किया जाएगा, जो आपके डेटा में विसंगतियों, लापता मूल्यों और गलत डेटा प्रकारों के लिए दिखेगा। ये सभी घटक TensorFlow Data Validation Library की क्षमताओं का लाभ उठाते हैं।

प्रारंभिक खोज, दृश्य और अपने डेटासेट की सफाई करते समय TensorFlow Data Validation (TFDV) एक मूल्यवान उपकरण है। टीएफडीवी आपके डेटा की जांच करता है और डेटा प्रकारों, श्रेणियों और श्रेणियों को संक्रमित करता है, और फिर स्वचालित रूप से विसंगतियों और लापता मूल्यों की पहचान करने में मदद करता है। यह विज़ुअलाइज़ेशन टूल भी प्रदान करता है जो आपको अपने डेटासेट की जांच और समझने में मदद कर सकता है। आपकी पाइपलाइन के पूरा होने के बाद आप एमएलएमडी से मेटाडेटा पढ़ सकते हैं और अपने डेटा का विश्लेषण करने के लिए जुपाइटर नोटबुक में टीएफडीवी के विज़ुअलाइज़ेशन टूल का उपयोग कर सकते हैं।

अपने प्रारंभिक मॉडल प्रशिक्षण और परिनियोजन के बाद, TFDV का उपयोग आपके तैनात किए गए मॉडल के अनुमान अनुरोधों से नए डेटा की निगरानी के लिए किया जा सकता है, और विसंगतियों और / या बहाव की तलाश कर सकता है। यह विशेष रूप से टाइम सीरीज़ डेटा के लिए उपयोगी है जो समय के साथ-साथ प्रवृत्ति या मौसमी के परिणामस्वरूप बदलता है, और यह सूचित करने में मदद कर सकता है कि कब डेटा समस्याएँ हैं या जब मॉडल को नए डेटा पर वापस लेने की आवश्यकता है।

डेटा विज़ुअलाइज़ेशन

जब आप अपने पाइप लाइन के अनुभाग के माध्यम से अपना पहला डेटा पूरा कर लेते हैं, जो TFDV (आमतौर पर स्टेटिस्टिक्सजेन, स्कीमाजेन, और ExampleValidator) का उपयोग करता है, तो आप परिणाम को बृहस्पति स्टाइल नोटबुक में देख सकते हैं। अतिरिक्त रन के लिए आप इन परिणामों की तुलना कर सकते हैं जब तक आप समायोजन करते हैं, जब तक कि आपका डेटा आपके मॉडल और एप्लिकेशन के लिए इष्टतम न हो।

आप इन घटकों के इन निष्पादन के परिणामों का पता लगाने के लिए पहले एमएल मेटाडेटा (MLMD) को क्वेरी करेंगे, और फिर अपनी नोटबुक में विज़ुअलाइज़ेशन बनाने के लिए TFDV में विज़ुअलाइज़ेशन समर्थन API का उपयोग करेंगे। इसमें tfdv.load_statistics () और tfdv.visualize_statistics () शामिल हैं इस विज़ुअलाइज़ेशन का उपयोग करके आप अपने डेटासेट की विशेषताओं को बेहतर ढंग से समझ सकते हैं, और यदि आवश्यक हो तो संशोधित कर सकते हैं।

विकासशील और प्रशिक्षण मॉडल

फ़ीचर इंजीनियरिंग

एक विशिष्ट TFX पाइपलाइन में एक ट्रांसफ़ॉर्म घटक शामिल होगा, जो TensorFlow Transform (TFT) लाइब्रेरी की क्षमताओं का लाभ उठाकर फ़ीचर इंजीनियरिंग का प्रदर्शन करेगा। एक ट्रांस्फ़ॉर्म घटक स्कीमा घटक द्वारा बनाए गए स्कीमा का उपभोग करता है, और आपके मॉडल को प्रशिक्षित करने के लिए उपयोग की जाने वाली सुविधाओं को बनाने, संयोजित करने और बदलने के लिए डेटा परिवर्तनों को लागू करता है । अनुपलब्ध मानों की सफाई और प्रकारों के रूपांतरण को भी ट्रांसफ़ॉर्म घटक में किया जाना चाहिए, अगर कभी कोई संभावना है कि ये अनुमानों के अनुरोध के लिए भेजे गए डेटा में भी मौजूद होंगे। TFX में प्रशिक्षण के लिए TensorFlow कोड डिजाइन करते समय कुछ महत्वपूर्ण विचार हैं

मॉडलिंग और प्रशिक्षण

एक ट्रांसफॉर्म घटक का परिणाम एक SavedModel है जिसे आयात किया जाएगा और ट्रेनर घटक के दौरान TensorFlow में आपके मॉडलिंग कोड में उपयोग किया जाएगा। इस SavedModel में सभी डेटा इंजीनियरिंग ट्रांसफ़ॉर्मेशन शामिल हैं जो ट्रांसफ़ॉर्म घटक में बनाए गए थे, ताकि प्रशिक्षण और इंट्रेंस के दौरान समान कोड का उपयोग करके समान ट्रांसफ़ॉर्म किए जा सकें। ट्रांस्फ़ॉर्म घटक से SavedModel सहित मॉडलिंग कोड का उपयोग करके, आप अपने प्रशिक्षण और मूल्यांकन डेटा का उपभोग कर सकते हैं और अपने मॉडल को प्रशिक्षित कर सकते हैं।

एस्टिमेटर आधारित मॉडल के साथ काम करते समय, आपके मॉडलिंग कोड के अंतिम भाग को आपके मॉडल को सेव्डमॉडल और एवलस्वामॉडल दोनों के रूप में सहेजना चाहिए। एक EvalSavedModel के रूप में सहेजना सुनिश्चित करता है कि प्रशिक्षण के समय उपयोग किए जाने वाले मैट्रिक्स मूल्यांकन के दौरान भी उपलब्ध हैं (ध्यान दें कि यह केरस आधारित मॉडल के लिए आवश्यक नहीं है)। एक EvalSavedModel को सहेजने के लिए आवश्यक है कि आप अपने ट्रेनर घटक में TensorFlow Model Analysis (TFMA) लाइब्रेरी का आयात करें।

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

मॉडल के लिए हाइपरपरमेटर्स (जैसे, परतों की संख्या) को ट्यून करने के लिए ट्रेनर से पहले एक वैकल्पिक ट्यूनर घटक जोड़ा जा सकता है। दिए गए मॉडल और हाइपरपामेटर्स के खोज स्थान के साथ, ट्यूनिंग एल्गोरिथ्म उद्देश्य के आधार पर सबसे अच्छा हाइपरपैरमीटर पाएंगे।

विश्लेषण और मॉडल प्रदर्शन को समझना

मॉडल विश्लेषण

प्रारंभिक मॉडल विकास और प्रशिक्षण के बाद विश्लेषण करना और वास्तव में अपने मॉडल के प्रदर्शन को समझना महत्वपूर्ण है। एक ठेठ TFX पाइपलाइन एक शामिल होंगे मूल्यांकनकर्ता घटक है, जो की क्षमताओं का लाभ उठाता है TensorFlow मॉडल विश्लेषण (TFMA) पुस्तकालय है, जो विकास के इस चरण के लिए एक शक्ति टूलसेट प्रदान करता है। एक मूल्यांकनकर्ता घटक उस मॉडल का उपभोग करता है जिसे आपने ऊपर निर्यात किया था, और आपको tfma.SlicingSpec की एक सूची निर्दिष्ट करने की अनुमति देता है tfma.SlicingSpec उपयोग आप अपने मॉडल के प्रदर्शन की कल्पना और विश्लेषण करते समय कर सकते हैं। प्रत्येक SlicingSpec आपके प्रशिक्षण डेटा के एक स्लाइस को परिभाषित करता है जिसे आप जांचना चाहते हैं, जैसे SlicingSpec विशेषताओं के लिए विशेष श्रेणियां, या संख्यात्मक विशेषताओं के लिए विशेष श्रेणियां।

उदाहरण के लिए, यह आपके ग्राहकों के विभिन्न खंडों के लिए आपके मॉडल के प्रदर्शन को समझने की कोशिश करने के लिए महत्वपूर्ण होगा, जिसे वार्षिक खरीद, भौगोलिक डेटा, आयु समूह या लिंग द्वारा खंडित किया जा सकता है। यह लंबी पूंछ वाले डेटासेट के लिए विशेष रूप से महत्वपूर्ण हो सकता है, जहां एक प्रमुख समूह का प्रदर्शन महत्वपूर्ण, अभी तक छोटे समूहों के लिए अस्वीकार्य प्रदर्शन का मुखौटा लगा सकता है। उदाहरण के लिए, आपका मॉडल औसत कर्मचारियों के लिए अच्छा प्रदर्शन कर सकता है, लेकिन कार्यकारी कर्मचारियों के लिए बुरी तरह विफल हो सकता है, और यह जानना आपके लिए महत्वपूर्ण हो सकता है।

मॉडल विश्लेषण और विज़ुअलाइज़ेशन

आप अपने मॉडल को प्रशिक्षण और चल रहे हैं के माध्यम से अपने डेटा के पहले रन पूरा कर लिया है के बाद मूल्यांकनकर्ता घटक (जो लाभ उठाता है TFMA प्रशिक्षण परिणामों पर), आप एक Jupyter शैली नोटबुक में परिणाम कल्पना कर सकते हैं। अतिरिक्त रन के लिए आप इन परिणामों की तुलना कर सकते हैं क्योंकि आप समायोजन करते हैं, जब तक कि आपके परिणाम आपके मॉडल और अनुप्रयोग के लिए इष्टतम नहीं होते।

आप इन घटकों के इन निष्पादन के परिणामों का पता लगाने के लिए पहले एमएल मेटाडेटा (MLMD) को क्वेरी करेंगे, और फिर अपनी नोटबुक में विज़ुअलाइज़ेशन बनाने के लिए TFMA में विज़ुअलाइज़ेशन समर्थन API का उपयोग करें। इसमें tfma.load_eval_results और tfma.view.render_slicing_metrics शामिल हैं इस विज़ुअलाइज़ेशन का उपयोग करके आप अपने मॉडल की विशेषताओं को बेहतर ढंग से समझ सकते हैं, और यदि आवश्यक हो तो संशोधित कर सकते हैं।

आदर्श प्रदर्शन को मान्य करना

एक मॉडल के प्रदर्शन का विश्लेषण करने के भाग के रूप में आप आधार रेखा के विरुद्ध प्रदर्शन को मान्य करना चाहते हैं (जैसे वर्तमान में सेवा कर रहे मॉडल)। मॉडल सत्यापन एक उम्मीदवार और बेसलाइन मॉडल दोनों को मूल्यांकनकर्ता घटक को पास करके किया जाता है। मूल्यांकनकर्ता उम्मीदवार और आधार रेखा दोनों के लिए मेट्रिक्स (जैसे एयूसी, हानि) की गणना करता है और साथ ही साथ अलग-अलग मेट्रिक्स का एक सेट करता है। थ्रेशोल्ड को तब लागू किया जा सकता है और आपके मॉडल को उत्पादन में धकेलने वाले गेट का उपयोग किया जाता है।

यह साबित करना कि एक मॉडल को सेवा दी जा सकती है

इंफ्रा वैलिडेशन

प्रशिक्षित मॉडल को तैनात करने से पहले, आप यह सत्यापित करना चाहते हैं कि क्या मॉडल वास्तव में सेवारत बुनियादी ढांचे में सेवा योग्य है या नहीं। यह उत्पादन वातावरण में विशेष रूप से महत्वपूर्ण है यह सुनिश्चित करने के लिए कि नव प्रकाशित मॉडल सिस्टम को भविष्यवाणियों की सेवा से नहीं रोकता है। InfraValidator घटक सैंडबॉक्स वाले वातावरण में आपके मॉडल की एक कैनरी परिनियोजन करेगा, और वैकल्पिक रूप से यह जांचने के लिए वास्तविक अनुरोध भेजेगा कि आपका मॉडल सही तरीके से काम करता है।

तैनाती के लक्ष्य

एक बार जब आप एक मॉडल को विकसित और प्रशिक्षित कर लेते हैं, जिससे आप खुश होते हैं, तो अब इसे एक या एक से अधिक परिनियोजन लक्ष्य (एस) में तैनात करने का समय है, जहां इसे निष्कर्ष अनुरोध प्राप्त होंगे। TFX, तैनाती लक्ष्य के तीन वर्गों में तैनाती का समर्थन करता है। प्रशिक्षित मॉडल जिन्हें SavedModels के रूप में निर्यात किया गया है, इन तैनाती लक्ष्यों में से किसी एक या सभी को तैनात किया जा सकता है।

घटक प्रवाह

इंजेक्शन: TensorFlow सर्व करना

TensorFlow सर्विंग (TFS) मशीन लर्निंग मॉडल के लिए एक लचीला, उच्च-प्रदर्शन वाला सेवारत सिस्टम है, जिसे उत्पादन वातावरण के लिए डिज़ाइन किया गया है। यह एक SavedModel की खपत करता है और REST या gRPC इंटरफेस पर या तो अनुरोधों को स्वीकार करेगा। यह एक या एक से अधिक नेटवर्क सर्वर पर प्रक्रियाओं के एक सेट के रूप में चलता है, सिंक्रनाइज़ेशन और वितरित कम्प्यूटेशन को संभालने के लिए कई उन्नत आर्किटेक्चर में से एक का उपयोग करता है। टीएफएस समाधानों के विकास और तैनाती के बारे में अधिक जानकारी के लिए टीएफएस प्रलेखन देखें।

एक ठेठ पाइपलाइन में, एक SavedModel जिसे एक ट्रेनर घटक में प्रशिक्षित किया गया है, पहले एक InfraValidator घटक में इन्फ्रा-मान्य किया जाएगा। InfraValidator वास्तव में SavedModel की सेवा करने के लिए एक कैनरी TFS मॉडल सर्वर लॉन्च करता है। यदि मान्यता समाप्त हो गई है, तो एक पुशर घटक अंततः आपके TFS बुनियादी ढांचे में SavedModel को तैनात करेगा। इसमें कई संस्करणों और मॉडल अपडेट को शामिल करना शामिल है।

देशी मोबाइल और आईओटी अनुप्रयोगों में इंजेक्शन: टेन्सरफ्लो लाइट

TensorFlow Lite एक उपकरण है जो डेवलपर्स को उनके प्रशिक्षित TensorFlow मॉडल को मूल मोबाइल और IoL अनुप्रयोगों में उपयोग करने में मदद करने के लिए समर्पित है। यह TensorFlow सर्विंग के रूप में एक ही SavedModels की खपत करता है, और मोबाइल और IoT उपकरणों पर चलने की चुनौतियों के लिए परिणामी मॉडल के आकार और प्रदर्शन का अनुकूलन करने के लिए परिमाणीकरण और छंटाई जैसे अनुकूलन लागू करता है। TensorFlow Lite का उपयोग करने के बारे में अधिक जानकारी के लिए TensorFlow Lite दस्तावेज देखें।

जावास्क्रिप्ट में इंजेक्शन: TensorFlow JS

TensorFlow JS ब्राउज़र और Node.js. पर एमएल मॉडल के प्रशिक्षण और तैनाती के लिए एक जावास्क्रिप्ट लाइब्रेरी है। यह TensorFlow सर्विंग और TensorFlow Lite के रूप में एक ही SavedModels की खपत करता है, और उन्हें TensorFlow.js वेब प्रारूप में परिवर्तित करता है। TensorFlow JS का उपयोग करने के बारे में अधिक जानकारी के लिए TensorFlow JS प्रलेखन देखें।

Airflow के साथ एक TFX पाइपलाइन बनाना

विवरण के लिए एयरफ्लो कार्यशाला की जाँच करें

Kubeflow के साथ एक TFX पाइपलाइन बनाना

सेट अप

Kubeflow पैमाने पर पाइपलाइनों को चलाने के लिए एक Kubernetes क्लस्टर की आवश्यकता होती है। क्यूबफ़्लो परिनियोजन दिशानिर्देश देखें जो क्यूबफ़्लो क्लस्टर को तैनात करने के विकल्पों के माध्यम से मार्गदर्शन करता है।

TFX पाइपलाइन को कॉन्फ़िगर करें और चलाएं

Kubeflow पर TFX उदाहरण पाइपलाइन को चलाने के लिए कृपया क्लाउड AI प्लेटफ़ॉर्म पाइपलाइन ट्यूटोरियल पर TFX का अनुसरण करें। TFX घटकों को क्यूबफ़्लो पाइपलाइन की रचना के लिए कंटेनरीकृत किया गया है और नमूना बड़े सार्वजनिक डेटासेट को पढ़ने के लिए पाइपलाइन को कॉन्फ़िगर करने और क्लाउड में पैमाने पर प्रशिक्षण और डेटा प्रोसेसिंग चरणों को निष्पादित करने की क्षमता दिखाता है।

पाइपलाइन कार्यों के लिए कमांड लाइन इंटरफ़ेस

टीएफएक्स एक एकीकृत सीएलआई प्रदान करता है जो पाइप लाइन क्रियाओं की पूरी श्रृंखला बनाने में मदद करता है जैसे कि अपाचे एयरफ़्लो, अपाचे बीम और क्यूबफ़्लो सहित विभिन्न ऑर्केस्ट्रेटर पर पाइपलाइनों को बनाना, अपडेट करना, चलाना, सूचीबद्ध करना और हटाना। जानकारी के लिए, कृपया इन निर्देशों का पालन करें