एमएल समुदाय दिवस 9 नवंबर है! TensorFlow, JAX से नई जानकारी के लिए हमसे जुड़ें, और अधिक जानें

क्लाउड एआई प्लेटफॉर्म पाइपलाइनों पर टीएफएक्स

परिचय

यह ट्यूटोरियल TensorFlow Extended (TFX) और क्लाउड AI प्लेटफ़ॉर्म पाइपलाइनों को पेश करने के लिए डिज़ाइन किया गया है, और आपको Google क्लाउड पर अपनी मशीन लर्निंग पाइपलाइन बनाने में सीखने में मदद करता है। यह TFX, AI प्लेटफॉर्म पाइपलाइनों और Kubeflow के साथ एकीकरण के साथ-साथ Jupyter नोटबुक में TFX के साथ सहभागिता को दर्शाता है।

इस ट्यूटोरियल के अंत में, आपने Google क्लाउड पर होस्ट की गई एक ML पाइपलाइन बनाई और चलाई होगी। आप प्रत्येक रन के परिणामों की कल्पना करने में सक्षम होंगे, और निर्मित कलाकृतियों के वंश को देख सकेंगे।

आप एक सामान्य एमएल विकास प्रक्रिया का पालन करेंगे, जो डेटासेट की जांच करके शुरू होगी, और एक पूर्ण कामकाजी पाइपलाइन के साथ समाप्त होगी। जिस तरह से आप अपनी पाइपलाइन को डीबग करने और अपडेट करने और प्रदर्शन को मापने के तरीकों का पता लगाएंगे।

शिकागो टैक्सी डेटासेट

टैक्सीशिकागो टैक्सी

आप उपयोग कर रहे हैं टैक्सी डाटासेट Trips शिकागो शहर के द्वारा जारी किया।

आप कर सकते हैं और अधिक पढ़ में डाटासेट के बारे में Google बिगक्वेरी । में पूर्ण डाटासेट अन्वेषण BigQuery यूआई

मॉडल लक्ष्य - बाइनरी वर्गीकरण

क्या ग्राहक 20% से अधिक या कम से कम टिप देगा?

1. Google क्लाउड प्रोजेक्ट सेट करें

1.a Google क्लाउड पर अपना परिवेश सेट करें

आरंभ करने के लिए, आपको एक Google क्लाउड खाते की आवश्यकता है। आपके पास पहले से हैं, तो आगे बढ़ के लिए नया प्रोजेक्ट बनाएं

  1. पर जाएं Google क्लाउड कंसोल

  2. Google क्लाउड के नियमों और शर्तों से सहमत हों

  3. यदि आप एक नि: शुल्क परीक्षण खाते के साथ शुरू करने के लिए करना चाहते हैं, पर क्लिक करें नि: शुल्क आज़माएं (या मुक्त करने के लिए प्रारंभ करें )।

    1. अपने देश का चयन करें।

    2. सेवा की शर्तों से सहमत हों।

    3. बिलिंग विवरण दर्ज करें।

      इस बिंदु पर आपसे शुल्क नहीं लिया जाएगा। आप कोई अन्य Google क्लाउड प्रोजेक्ट है, तो आप को पार किए बिना इस ट्यूटोरियल पूरा कर सकते हैं Google मेघ नि: शुल्क टीयर सीमा है, जो एक ही समय में चल रहा है 8 कोर की एक अधिकतम शामिल हैं।

1.b एक नया प्रोजेक्ट बनाएं।

  1. से मुख्य Google मेघ डैशबोर्ड , Google मेघ प्लेटफ़ॉर्म हेडर के बगल में परियोजना लटकती क्लिक करें, और नया प्रोजेक्ट का चयन करें।
  2. अपने प्रोजेक्ट को एक नाम दें और अन्य प्रोजेक्ट विवरण दर्ज करें
  3. एक बार जब आप कोई प्रोजेक्ट बना लेते हैं, तो उसे प्रोजेक्ट ड्रॉप-डाउन से चुनें।

2. एक नए कुबेरनेट्स क्लस्टर पर एआई प्लेटफॉर्म पाइपलाइन की स्थापना और तैनाती

  1. पर जाएं ऐ मंच पाइपलाइन क्लस्टर पेज।

    मुख्य नेविगेशन मेनू के तहत: ≡ > एआई प्लेटफॉर्म > पाइपलाइन

  2. एक नया क्लस्टर बनाने के लिए + नया उदाहरण क्लिक करें।

  3. Kubeflow पाइपलाइन सिंहावलोकन पृष्ठ पर, कॉन्फ़िगर करें क्लिक करें।

    आगे बढ़ने से पहले आपको कई मिनट इंतजार करना पड़ सकता है, जबकि कुबेरनेट्स इंजन एपीआई आपके लिए सक्षम किया जा रहा है।

  4. तैनात Kubeflow पाइपलाइन पृष्ठ पर:

    1. एक का चयन करें क्षेत्र (या "क्षेत्र") आपके क्लस्टर के लिए।

    2. महत्वपूर्ण चेक बॉक्स निम्नलिखित बादल API तक पहुंच की अनुमति दें लेबल। (इस क्लस्टर के लिए आपके प्रोजेक्ट के अन्य हिस्सों तक पहुंचने के लिए यह आवश्यक है। यदि आप इस चरण को याद करते हैं, तो इसे बाद में ठीक करना थोड़ा मुश्किल है।)

    3. क्लिक करें बनाएँ, और कई मिनट तक इंतजार क्लस्टर बनाया गया है।

    4. एक नाम स्थान और इंस्टेंस नाम चुनें (डिफ़ॉल्ट का उपयोग करना ठीक है)। आप उपयोग में कामयाब मेमोरी जांचने के लिए नहीं है।

    5. तैनात क्लिक करें, और जब तक पाइप लाइन तैनात किया गया है कुछ क्षण प्रतीक्षा करें। Kubeflow पाइपलाइनों को परिनियोजित करके, आप सेवा की शर्तों को स्वीकार करते हैं।

3. क्लाउड एआई प्लेटफॉर्म नोटबुक इंस्टेंस सेट करें।

  1. पर जाएं ऐ मंच नोटबुक पेज।

    मुख्य नेविगेशन मेनू के तहत: ≡ -> एआई प्लेटफॉर्म -> नोटबुक

  2. यदि संकेत दिया जाए, तो कंप्यूट इंजन API को सक्षम करें।

  3. TensorFlow 2.1 (या इससे अधिक) इंस्टॉल साथ एक नया उदाहरण बनाएँ।

    नया उदाहरण -> TensorFlow 2.1 -> GPU के बिना

    फ्री टियर की सीमा के भीतर रहने के लिए, यहां डिफ़ॉल्ट सेटिंग्स को स्वीकार न करें। आपको इस उदाहरण के लिए उपलब्ध vCPU की संख्या को 4 से घटाकर 2 करने की आवश्यकता है:

    1. नई नोटबुक उदाहरण फ़ॉर्म में सबसे नीचे कस्टमाइज़ चुनें।
    2. 1 या 2 vCPUs के साथ एक मशीन विन्यास का चयन करें।

4. प्रारंभ करना नोटबुक लॉन्च करें

  1. पर जाएं ऐ मंच पाइपलाइन क्लस्टर पेज।

    मुख्य नेविगेशन मेनू के तहत: ≡ -> एआई प्लेटफार्म -> पाइपलाइन

  2. क्लस्टर आप इस ट्यूटोरियल में प्रयोग कर रहे हैं के लिए लाइन पर, ओपन पाइपलाइन डैशबोर्ड क्लिक करें।

    खुला डैशबोर्ड

  3. आरंभ करना पृष्ठ पर, क्लिक करें ओपन TF 2.1 नोटबुक।

  4. इस ट्यूटोरियल के लिए नोटबुक उदाहरण आप उपयोग कर रहे चुनकर जारी रखें।

    चयन-नोटबुक

5. नोटबुक में काम करना जारी रखें

इंस्टॉल

स्थापित करके प्रारंभ करना नोटबुक शुरू होता है TFX और Kubeflow पाइपलाइन (KFP) वीएम जो Jupyter लैब में चल रहा है में।

यह तब जांचता है कि TFX का कौन सा संस्करण स्थापित है, आयात करता है, और प्रोजेक्ट आईडी सेट और प्रिंट करता है:

अजगर संस्करण की जाँच करें और आयात करें

अपनी Google क्लाउड सेवाओं से जुड़ें

पाइपलाइन कॉन्फ़िगरेशन को आपकी प्रोजेक्ट आईडी की आवश्यकता होती है, जिसे आप नोटबुक के माध्यम से प्राप्त कर सकते हैं और एक पर्यावरण चर के रूप में सेट कर सकते हैं।

# Read GCP project id from env.
shell_output=!gcloud config list --format 'value(core.project)' 2>/dev/null
GCP_PROJECT_ID=shell_output[0]
print("GCP project ID:" + GCP_PROJECT_ID)

अब अपना KFP क्लस्टर एंडपॉइंट सेट करें।

यह पाइपलाइन डैशबोर्ड के URL से पाया जा सकता है। क्यूबफ्लो पाइपलाइन डैशबोर्ड पर जाएं और यूआरएल देखें। अंत बिंदु के साथ शुरू यूआरएल में सब कुछ है https:// , अप करने के लिए हुआ था और इसमें googleusercontent.com

ENDPOINT='' # Enter YOUR ENDPOINT here.

नोटबुक तब कस्टम डॉकर छवि के लिए एक अद्वितीय नाम सेट करता है:

# Docker image name for the pipeline image
CUSTOM_TFX_IMAGE='gcr.io/' + GCP_PROJECT_ID + '/tfx-pipeline'

6. अपनी परियोजना निर्देशिका में एक टेम्पलेट की प्रतिलिपि बनाएँ

अपनी पाइपलाइन के लिए एक नाम सेट करने के लिए अगले नोटबुक सेल को संपादित करें। इस ट्यूटोरियल में हम का उपयोग करेगा my_pipeline

PIPELINE_NAME="my_pipeline"
PROJECT_DIR=os.path.join(os.path.expanduser("~"),"imported",PIPELINE_NAME)

नोटबुक तो का उपयोग करता tfx पाइपलाइन टेम्पलेट कॉपी करने के लिए CLI। इस ट्यूटोरियल, द्विआधारी वर्गीकरण प्रदर्शन करने के लिए शिकागो टैक्सी डाटासेट का उपयोग करता है तो टेम्पलेट के लिए मॉडल सेट taxi :

!tfx template copy \
  --pipeline-name={PIPELINE_NAME} \
  --destination-path={PROJECT_DIR} \
  --model=taxi

नोटबुक तब अपने CWD संदर्भ को प्रोजेक्ट निर्देशिका में बदल देता है:

%cd {PROJECT_DIR}

पाइपलाइन फ़ाइलें ब्राउज़ करें

क्लाउड एआई प्लेटफॉर्म नोटबुक के बाईं ओर, आपको एक फ़ाइल ब्राउज़र देखना चाहिए। आपके पाइपलाइन का नाम (के साथ एक निर्देशिका होना चाहिए my_pipeline )। इसे खोलें और फाइलों को देखें। (आप उन्हें खोल सकेंगे और नोटबुक परिवेश से भी संपादित कर सकेंगे।)

# You can also list the files from the shell
 ls

tfx template copy आदेश ऊपर फ़ाइलों को एक पाइपलाइन का निर्माण की एक बुनियादी पाड़ बनाया। इनमें पायथन स्रोत कोड, नमूना डेटा और ज्यूपिटर नोटबुक शामिल हैं। ये इस विशेष उदाहरण के लिए हैं। आपकी अपनी पाइपलाइनों के लिए ये सहायक फ़ाइलें होंगी जिनकी आपकी पाइपलाइन को आवश्यकता होती है।

यहां पायथन फाइलों का संक्षिप्त विवरण दिया गया है।

  • pipeline - यह निर्देशिका पाइपलाइन की परिभाषा में शामिल है
    • configs.py - पाइपलाइन धावकों के लिए आम स्थिरांक को परिभाषित करता है
    • pipeline.py - परिभाषित करता है TFX घटकों और एक पाइप लाइन
  • models - यह निर्देशिका एमएल मॉडल परिभाषाओं में शामिल है।
    • features.py features_test.py - परिभाषित करता है मॉडल के लिए सुविधाएँ
    • preprocessing.py / preprocessing_test.py - का उपयोग कर नौकरियों preprocessing परिभाषित करता है tf::Transform
    • estimator - यह निर्देशिका एक अनुमानक आधारित मॉडल होते हैं।
      • constants.py - मॉडल की परिभाषित स्थिरांक
      • model.py / model_test.py - परिभाषित करता है DNN मॉडल TF आकलनकर्ता का उपयोग कर
    • keras - यह निर्देशिका एक Keras आधारित मॉडल होते हैं।
      • constants.py - मॉडल की परिभाषित स्थिरांक
      • model.py / model_test.py - परिभाषित करता है Keras का उपयोग कर DNN मॉडल
  • beam_runner.py / kubeflow_runner.py - प्रत्येक आर्केस्ट्रा इंजन के लिए दूसरे स्थान को परिभाषित

7. Kubeflow . पर अपनी पहली TFX पाइपलाइन चलाएं

नोटबुक पाइप लाइन का उपयोग करके चलेंगे tfx run CLI आदेश।

भंडारण से कनेक्ट करें

रनिंग पाइपलाइनों कलाकृतियों जो में संग्रहित किया जा करने के लिए है बनाने ML-मेटाडाटा । कलाकृतियां पेलोड को संदर्भित करती हैं, जो ऐसी फाइलें हैं जिन्हें एक फाइल सिस्टम या ब्लॉक स्टोरेज में संग्रहित किया जाना चाहिए। इस ट्यूटोरियल के लिए, हम सेटअप के दौरान स्वचालित रूप से बनाए गए बकेट का उपयोग करके अपने मेटाडेटा पेलोड को संग्रहीत करने के लिए GCS का उपयोग करेंगे। इसका नाम होगा <your-project-id>-kubeflowpipelines-default

पाइपलाइन बनाएं

नोटबुक हमारे नमूना डेटा को GCS बकेट में अपलोड करेगा ताकि हम इसे बाद में अपनी पाइपलाइन में उपयोग कर सकें।

gsutil cp data/data.csv gs://{GOOGLE_CLOUD_PROJECT}-kubeflowpipelines-default/tfx-template/data/taxi/data.csv

नोटबुक तो का उपयोग करता tfx pipeline create पाइप लाइन बनाने के लिए आदेश।

!tfx pipeline create  \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT} \
--build-image

एक पाइप लाइन बनाते समय Dockerfile एक डोकर छवि बनाने के उत्पन्न हो जाएगा। इन फ़ाइलों को अन्य स्रोत फ़ाइलों के साथ अपने स्रोत नियंत्रण प्रणाली (उदाहरण के लिए, git) में जोड़ना न भूलें।

पाइपलाइन चलाएं

नोटबुक तो का उपयोग करता tfx run create आदेश अपने पाइप लाइन के निष्पादन रन शुरू करने के लिए। आप इस रन को Kubeflow पाइपलाइन डैशबोर्ड में प्रयोगों के अंतर्गत सूचीबद्ध भी देखेंगे।

tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}

आप Kubeflow पाइपलाइन डैशबोर्ड से अपनी पाइपलाइन देख सकते हैं।

8. अपना डेटा सत्यापित करें

किसी भी डेटा साइंस या एमएल प्रोजेक्ट में पहला काम डेटा को समझना और साफ करना होता है।

  • प्रत्येक सुविधा के लिए डेटा प्रकारों को समझें
  • विसंगतियों और लापता मूल्यों की तलाश करें
  • प्रत्येक सुविधा के वितरण को समझें

अवयव

डेटा घटकडेटा घटक

  • ExampleGen ingests और इनपुट डाटासेट बांट देता है।
  • StatisticsGen डाटासेट के लिए आँकड़े गणना करता है।
  • SchemaGen SchemaGen आंकड़ों की जांच करता है और एक डेटा स्कीमा पैदा करता है।
  • ExampleValidator विसंगतियों और डेटासेट में लापता मूल्यों के लिए लग रहा है।

जुपिटर लैब फ़ाइल संपादक में:

में pipeline / pipeline.py , टिप्पणी हटाएं लाइनों जो अपने पाइप लाइन के लिए इन घटकों संलग्न:

# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)

( ExampleGen पहले से ही सक्षम किया गया था जब टेम्पलेट फ़ाइलों अनुसरण किया गया।)

पाइपलाइन को अपडेट करें और इसे फिर से चलाएँ

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

पाइपलाइन की जाँच करें

क्यूबफ्लो ऑर्केस्ट्रेटर के लिए, केएफपी डैशबोर्ड पर जाएं और अपने पाइपलाइन रन के लिए पेज में पाइपलाइन आउटपुट खोजें। बाईं ओर "प्रयोग" टैब और प्रयोग पृष्ठ में "सभी चलता है" पर क्लिक करें। आपको अपनी पाइपलाइन के नाम से रन ढूंढने में सक्षम होना चाहिए।

अधिक उन्नत उदाहरण

यहां प्रस्तुत उदाहरण वास्तव में केवल आपको आरंभ करने के लिए है। एक और अधिक उन्नत उदाहरण के लिए देख TensorFlow डेटा मान्यता Colab

TFDV का उपयोग कर पता लगाने और एक डाटासेट को मान्य करने के बारे में अधिक जानकारी के लिए, tensorflow.org पर उदाहरण देखें

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

आप अपने डेटा की भविष्य कहनेवाला गुणवत्ता बढ़ा सकते हैं और/या फीचर इंजीनियरिंग के साथ आयाम को कम कर सकते हैं।

  • फ़ीचर क्रॉस
  • शब्दसंग्रह
  • एम्बेडिंग
  • पीसीए
  • श्रेणीबद्ध एन्कोडिंग

TFX का उपयोग करने के लाभों में से एक यह है कि आप अपना परिवर्तन कोड एक बार लिखेंगे, और परिणामी परिवर्तन प्रशिक्षण और सेवा के बीच संगत होंगे।

अवयव

परिवर्तन

  • रूपांतरण डेटासेट पर प्रदर्शन सुविधा इंजीनियरिंग।

जुपिटर लैब फ़ाइल संपादक में:

में pipeline / pipeline.py , खोजने के लिए और रेखा है जो संलग्न कर देता है uncomment रूपांतरण पाइपलाइन के लिए।

# components.append(transform)

पाइपलाइन को अपडेट करें और इसे फिर से चलाएँ

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

पाइपलाइन आउटपुट की जाँच करें

क्यूबफ्लो ऑर्केस्ट्रेटर के लिए, केएफपी डैशबोर्ड पर जाएं और अपने पाइपलाइन रन के लिए पेज में पाइपलाइन आउटपुट खोजें। बाईं ओर "प्रयोग" टैब और प्रयोग पृष्ठ में "सभी चलता है" पर क्लिक करें। आपको अपनी पाइपलाइन के नाम से रन ढूंढने में सक्षम होना चाहिए।

अधिक उन्नत उदाहरण

यहां प्रस्तुत उदाहरण वास्तव में केवल आपको आरंभ करने के लिए है। एक और अधिक उन्नत उदाहरण के लिए देख TensorFlow Colab रूपांतरण

10. प्रशिक्षण

अपने अच्छे, स्वच्छ, रूपांतरित डेटा के साथ एक TensorFlow मॉडल को प्रशिक्षित करें।

  • पिछले चरण के परिवर्तनों को शामिल करें ताकि वे लगातार लागू हों
  • उत्पादन के लिए परिणामों को सहेजे गए मॉडल के रूप में सहेजें
  • TensorBoard का उपयोग करके प्रशिक्षण प्रक्रिया की कल्पना और अन्वेषण करें
  • मॉडल प्रदर्शन के विश्लेषण के लिए एक EvalSavedModel भी सहेजें

अवयव

  • ट्रेनर एक TensorFlow मॉडल प्रशिक्षण देता है।

जुपिटर लैब फ़ाइल संपादक में:

में pipeline / pipeline.py , खोजें और टिप्पणी हटाएं जो पाइप लाइन के लिए ट्रेनर संलग्न कर देता है:

# components.append(trainer)

पाइपलाइन को अपडेट करें और इसे फिर से चलाएँ

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

पाइपलाइन आउटपुट की जाँच करें

क्यूबफ्लो ऑर्केस्ट्रेटर के लिए, केएफपी डैशबोर्ड पर जाएं और अपने पाइपलाइन रन के लिए पेज में पाइपलाइन आउटपुट खोजें। बाईं ओर "प्रयोग" टैब और प्रयोग पृष्ठ में "सभी चलता है" पर क्लिक करें। आपको अपनी पाइपलाइन के नाम से रन ढूंढने में सक्षम होना चाहिए।

अधिक उन्नत उदाहरण

यहां प्रस्तुत उदाहरण वास्तव में केवल आपको आरंभ करने के लिए है। एक और अधिक उन्नत उदाहरण के लिए देख TensorBoard ट्यूटोरियल

11. मॉडल प्रदर्शन का विश्लेषण

केवल शीर्ष स्तर के मेट्रिक्स से अधिक को समझना।

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

अवयव

जुपिटर लैब फ़ाइल संपादक में:

में pipeline / pipeline.py , खोजने के लिए और रेखा है जो पाइप लाइन के लिए मूल्यांकनकर्ता संलग्न कर देता है uncomment:

components.append(evaluator)

पाइपलाइन को अपडेट करें और इसे फिर से चलाएँ

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

पाइपलाइन आउटपुट की जाँच करें

क्यूबफ्लो ऑर्केस्ट्रेटर के लिए, केएफपी डैशबोर्ड पर जाएं और अपने पाइपलाइन रन के लिए पेज में पाइपलाइन आउटपुट खोजें। बाईं ओर "प्रयोग" टैब और प्रयोग पृष्ठ में "सभी चलता है" पर क्लिक करें। आपको अपनी पाइपलाइन के नाम से रन ढूंढने में सक्षम होना चाहिए।

12. मॉडल की सेवा

यदि नया मॉडल तैयार है, तो इसे बनाएं।

  • पुशर सहेजे गए मॉडल को प्रसिद्ध स्थानों पर तैनात करता है

परिनियोजन लक्ष्य प्रसिद्ध स्थानों से नए मॉडल प्राप्त करते हैं

  • टेंसरफ्लो सर्विंग Ser
  • टेंसरफ्लो लाइट
  • टेंसरफ्लो जेएस
  • टेंसरफ्लो हब

अवयव

  • पुशर एक सेवारत बुनियादी सुविधाओं के लिए मॉडल तैनात।

जुपिटर लैब फ़ाइल संपादक में:

में pipeline / pipeline.py , खोजने के लिए और लाइन है कि पाइप लाइन को पुशर संलग्न कर देता है uncomment:

# components.append(pusher)

पाइपलाइन आउटपुट की जाँच करें

क्यूबफ्लो ऑर्केस्ट्रेटर के लिए, केएफपी डैशबोर्ड पर जाएं और अपने पाइपलाइन रन के लिए पेज में पाइपलाइन आउटपुट खोजें। बाईं ओर "प्रयोग" टैब और प्रयोग पृष्ठ में "सभी चलता है" पर क्लिक करें। आपको अपनी पाइपलाइन के नाम से रन ढूंढने में सक्षम होना चाहिए।

उपलब्ध परिनियोजन लक्ष्य

आपने अब अपने मॉडल को प्रशिक्षित और मान्य किया है, और आपका मॉडल अब उत्पादन के लिए तैयार है। अब आप अपने मॉडल को किसी भी TensorFlow परिनियोजन लक्ष्य पर परिनियोजित कर सकते हैं, जिसमें शामिल हैं:

  • TensorFlow सेवित , एक सर्वर या सर्वर फ़ार्म पर अपने मॉडल की सेवा और प्रसंस्करण बाकी और / या gRPC अनुमान अनुरोधों के लिए।
  • TensorFlow लाइट , Android या iOS देशी मोबाइल अनुप्रयोग में अपने मॉडल, या एक रास्पबेरी Pi में, IoT, या माइक्रोकंट्रोलर आवेदन सहित के लिए।
  • TensorFlow.js , एक वेब ब्राउज़र या Node.js आवेदन में अपने मॉडल को चलाने के लिए।

अधिक उन्नत उदाहरण

ऊपर प्रस्तुत उदाहरण वास्तव में केवल आपको आरंभ करने के लिए है। नीचे अन्य क्लाउड सेवाओं के साथ एकीकरण के कुछ उदाहरण दिए गए हैं।

Kubeflow पाइपलाइन संसाधन विचार

आपके कार्यभार की आवश्यकताओं के आधार पर, आपके Kubeflow पाइपलाइन परिनियोजन के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन आपकी आवश्यकताओं को पूरा कर भी सकता है और नहीं भी। आप का उपयोग कर अपने संसाधन विन्यास अनुकूलित कर सकते हैं pipeline_operator_funcs करने के लिए अपने कॉल में KubeflowDagRunnerConfig

pipeline_operator_funcs की एक सूची है OpFunc आइटम है, जो सभी उत्पन्न बदल देती है ContainerOp KFP पाइपलाइन कल्पना जहाँ से संकलित किया गया है में उदाहरणों KubeflowDagRunner

उदाहरण के लिए, कॉन्फ़िगर स्मृति को हम उपयोग कर सकते हैं set_memory_request स्मृति की मात्रा की जरूरत घोषित करने के लिए। ऐसा करने के लिए एक विशिष्ट रास्ता के लिए एक आवरण बनाने के लिए है set_memory_request और की पाइपलाइन सूची में जोड़ने के लिए इसका इस्तेमाल करते हैं OpFunc रों:

def request_more_memory():
  def _set_memory_spec(container_op):
    container_op.set_memory_request('32G')
  return _set_memory_spec

# Then use this opfunc in KubeflowDagRunner
pipeline_op_funcs = kubeflow_dag_runner.get_default_pipeline_operator_funcs()
pipeline_op_funcs.append(request_more_memory())
config = KubeflowDagRunnerConfig(
    pipeline_operator_funcs=pipeline_op_funcs,
    ...
)
kubeflow_dag_runner.KubeflowDagRunner(config=config).run(pipeline)

समान संसाधन कॉन्फ़िगरेशन फ़ंक्शंस में शामिल हैं:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

प्रयास करें BigQueryExampleGen

BigQuery एक serverless, अत्यधिक स्केलेबल, और लागत प्रभावी क्लाउड डेटा गोदाम है। BigQuery को TFX में प्रशिक्षण उदाहरणों के स्रोत के रूप में उपयोग किया जा सकता है। इस चरण में, हम जोड़ देगा BigQueryExampleGen पाइप लाइन के लिए।

जुपिटर लैब फ़ाइल संपादक में:

खुला करने के लिए डबल क्लिक करें pipeline.py । बाहर टिप्पणी CsvExampleGen और टिप्पणी हटाएं रेखा है जो की एक आवृत्ति बनाता BigQueryExampleGen । तुम भी uncomment की जरूरत query का तर्क create_pipeline कार्य करते हैं।

हम जो GCP परियोजना BigQuery के लिए उपयोग करने के लिए निर्दिष्ट करने की आवश्यकता है, और इस सेटिंग के द्वारा किया जाता है --project में beam_pipeline_args जब एक पाइप लाइन का निर्माण।

खुला करने के लिए डबल क्लिक करें configs.py । टिप्पणी हटाएं की परिभाषा BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS और BIG_QUERY_QUERY । आपको इस फ़ाइल में प्रोजेक्ट आईडी और क्षेत्र मान को अपने GCP प्रोजेक्ट के लिए सही मानों से बदलना चाहिए।

निर्देशिका को एक स्तर ऊपर बदलें। फ़ाइल सूची के ऊपर निर्देशिका के नाम पर क्लिक करें। निर्देशिका का नाम पाइपलाइन जो है का नाम है my_pipeline अगर आप पाइपलाइन नाम नहीं बदला।

खुला करने के लिए डबल क्लिक करें kubeflow_runner.py । टिप्पणी हटाएं दो तर्क, query और beam_pipeline_args , के लिए create_pipeline कार्य करते हैं।

अब पाइपलाइन एक उदाहरण स्रोत के रूप में BigQuery का उपयोग करने के लिए तैयार है। पाइपलाइन को पहले की तरह अपडेट करें और एक नया निष्पादन रन बनाएं जैसा कि हमने चरण 5 और 6 में किया था।

पाइपलाइन को अपडेट करें और इसे फिर से चलाएँ

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

डेटाफ़्लो आज़माएं

कई TFX अवयव अपाचे बीम का उपयोग डेटा समानांतर पाइपलाइनों को लागू करने, और इसका मतलब है कि आप का उपयोग कर प्रसंस्करण वर्कलोड डेटा वितरित कर सकते हैं Google मेघ Dataflow । इस चरण में, हम अपाचे बीम के लिए डेटा प्रोसेसिंग बैक-एंड के रूप में डेटाफ्लो का उपयोग करने के लिए क्यूबफ्लो ऑर्केस्ट्रेटर सेट करेंगे।

# Select your project:
gcloud config set project YOUR_PROJECT_ID

# Get a list of services that you can enable in your project:
gcloud services list --available | grep Dataflow

# If you don't see dataflow.googleapis.com listed, that means you haven't been
# granted access to enable the Dataflow API.  See your account adminstrator.

# Enable the Dataflow service:

gcloud services enable dataflow.googleapis.com

डबल-क्लिक करें pipeline परिवर्तन निर्देशिका के लिए, और खुले को डबल क्लिक करें configs.py । टिप्पणी हटाएं की परिभाषा GOOGLE_CLOUD_REGION , और DATAFLOW_BEAM_PIPELINE_ARGS

निर्देशिका को एक स्तर ऊपर बदलें। फ़ाइल सूची के ऊपर निर्देशिका के नाम पर क्लिक करें। निर्देशिका का नाम पाइपलाइन जो है का नाम है my_pipeline यदि आप नहीं बदला।

खुला करने के लिए डबल क्लिक करें kubeflow_runner.py । टिप्पणी हटाएं beam_pipeline_args । (यह भी सुनिश्चित करें वर्तमान बाहर टिप्पणी करने के लिए बनाने के beam_pipeline_args कि आप चरण 7 में जोड़ा)

पाइपलाइन को अपडेट करें और इसे फिर से चलाएँ

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

आप में अपने Dataflow रोजगार प्राप्त कर सकते क्लाउड कंसोल में Dataflow

KFP के साथ क्लाउड एआई प्लेटफॉर्म प्रशिक्षण और भविष्यवाणी का प्रयास करें

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

फ़ाइलों का संपादन से पहले, आपको ऐ मंच प्रशिक्षण और पूर्वानुमान API की सक्षम करने के लिए हो सकता है।

डबल-क्लिक करें pipeline परिवर्तन निर्देशिका के लिए, और खुले को डबल क्लिक करें configs.py । टिप्पणी हटाएं की परिभाषा GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS और GCP_AI_PLATFORM_SERVING_ARGS । हम अपने कस्टम निर्मित कंटेनर छवि का उपयोग बादल ऐ मंच प्रशिक्षण में एक मॉडल को प्रशिक्षित करने जाएगा, इसलिए हम स्थापित करना चाहिए masterConfig.imageUri में GCP_AI_PLATFORM_TRAINING_ARGS रूप में एक ही मूल्य के लिए CUSTOM_TFX_IMAGE ऊपर।

बदलें निर्देशिका एक स्तर ऊपर, और खुले को डबल क्लिक करें kubeflow_runner.py । टिप्पणी हटाएं ai_platform_training_args और ai_platform_serving_args

पाइपलाइन को अपडेट करें और इसे फिर से चलाएँ

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

आप में अपने प्रशिक्षण रोजगार प्राप्त कर सकते बादल ऐ मंच नौकरियां । यदि आपका पाइपलाइन सफलतापूर्वक पूरा कर लिया है, तो आप में अपने मॉडल पा सकते हैं बादल ऐ प्लेटफार्म मॉडल

14. अपने खुद के डेटा का प्रयोग करें

इस ट्यूटोरियल में, आपने शिकागो टैक्सी डेटासेट का उपयोग करके एक मॉडल के लिए एक पाइपलाइन बनाई है। अब अपना खुद का डेटा पाइपलाइन में डालने का प्रयास करें। आपका डेटा कहीं भी संग्रहीत किया जा सकता है जहां पाइपलाइन इसे एक्सेस कर सकती है, जिसमें Google क्लाउड स्टोरेज, BigQuery, या CSV फ़ाइलें शामिल हैं।

आपको अपने डेटा को समायोजित करने के लिए पाइपलाइन परिभाषा को संशोधित करने की आवश्यकता है।

यदि आपका डेटा फाइलों में संग्रहीत है

  1. संशोधित DATA_PATH में kubeflow_runner.py , स्थान का संकेत है।

अगर आपका डेटा BigQuery में सेव है

  1. संशोधित BIG_QUERY_QUERY आपकी क्वेरी बयान के configs.py में।
  2. में सुविधाओं को जोड़ने के models / features.py
  3. संशोधित models / preprocessing.py को प्रशिक्षण के लिए इनपुट डेटा को बदलने
  4. संशोधित models / keras / model.py और models / keras / constants.py करने का वर्णन अपने एमएल मॉडल

ट्रेनर के बारे में और जानें

देखें ट्रेनर घटक गाइड प्रशिक्षण पाइपलाइनों के बारे में अधिक जानकारी के लिए।

सफाई करना

इस परियोजना में इस्तेमाल सभी Google क्लाउड संसाधनों को साफ करने के लिए, आप कर सकते हैं Google मेघ प्रोजेक्ट को हटाने आप ट्यूटोरियल के लिए इस्तेमाल किया।

-: फिर, आप प्रत्येक शान्ति जाकर अलग-अलग संसाधन साफ कर सकते हैं Google क्लाउड संग्रहण - गूगल कंटेनर रजिस्ट्री - गूगल Kubernetes इंजन