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

क्लाउड AI प्लेटफ़ॉर्म पाइपलाइनों पर TFX

परिचय

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

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

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

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

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

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

आप Google BigQuery में डेटासेट के बारे में अधिक पढ़ सकते हैंBigQuery UI में संपूर्ण डेटासेट देखें।

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

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

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

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

आरंभ करने के लिए, आपको Google क्लाउड खाते की आवश्यकता है। यदि आपके पास पहले से ही एक है, तो Create New Project को आगे छोड़ें।

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

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

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

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

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

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

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

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

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

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

  1. AI प्लेटफ़ॉर्म पाइपलाइन समूह पृष्ठ पर जाएं।

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

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

  3. क्यूबफ़्लो पाइपलाइन अवलोकन पृष्ठ पर, कॉन्फ़िगर करें पर क्लिक करें।

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

  4. नियोजन Kubeflow पाइपलाइन पृष्ठ पर:

    1. अपने क्लस्टर के लिए एक ज़ोन (या "क्षेत्र") चुनें।

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

    3. क्रिएट पर क्लिक करें और क्लस्टर बनने तक कई मिनट प्रतीक्षा करें।

    4. नाम और उदाहरण के नाम का चयन करें (चूक का उपयोग करना ठीक है)। आपको उपयोग प्रबंधित संग्रहण की जाँच करने की आवश्यकता नहीं है।

    5. तैनाती पर क्लिक करें , और पाइपलाइन को तैनात किए जाने तक कई क्षण प्रतीक्षा करें। क्यूबफ़्लो पाइपलाइनों को तैनात करके, आप सेवा की शर्तों को स्वीकार करते हैं।

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

  1. AI प्लेटफार्म नोटबुक पेज पर जाएं।

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

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

  3. TensorFlow 2.1 (या उच्चतर) स्थापित के साथ एक नया उदाहरण बनाएँ।

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

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

    1. नई नोटबुक इंस्टेंस फॉर्म के निचले भाग में कस्टमाइज़ करें चुनें।
    2. 1 या 2 vCPUs के साथ मशीन कॉन्फ़िगरेशन का चयन करें।

4. शुरू हो रही नोटबुक लॉन्च करें

  1. AI प्लेटफ़ॉर्म पाइपलाइन समूह पृष्ठ पर जाएं।

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

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

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

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

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

    चयन-नोटबुक

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

इंस्टॉल

प्रारंभ करना नोटबुक की स्थापना के द्वारा शुरू होता है TFX और Kubeflow पाइपलाइन (KFP) वीएम जो Jupyter लैब में चल रहा है, के साथ साथ में Skaffold मॉड्यूल:

Tf और kfp स्थापित करें

इसके बाद उपयोगकर्ता पायथन बाइनरी डायरेक्टरी और skaffold युक्त निर्देशिका को शामिल करने के लिए PATH सेट करता है:

रास्ता तय करना

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

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

अपनी 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 से पाया जा सकता है। क्यूबफ़्लो पाइपलाइन डैशबोर्ड पर जाएं और URL देखें। एंडपॉइंट https:// बाद URL में सब कुछ है, और 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 उपयोग 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}

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

क्लाउड AI प्लेटफ़ॉर्म नोटबुक के बाईं ओर, आपको एक फ़ाइल ब्राउज़र देखना चाहिए। आपके पाइपलाइन नाम ( 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 test.py - मॉडल के लिए सुविधाएँ परिभाषित करता है
    • preprocessing.py / preprocessing_test.py - preprocessing jobs को परिभाषित करता है tf::Transform
    • estimator - इस निर्देशिका में एक अनुमानक आधारित मॉडल होता है।
      • constants.py - मॉडल के स्थिरांक को परिभाषित करता है
      • model.py / model_test.py - model_test.py मॉडल को TF अनुमानक का उपयोग करके परिभाषित करता है
    • keras - इस निर्देशिका में एक Keras आधारित मॉडल है।
      • constants.py - मॉडल के स्थिरांक को परिभाषित करता है
      • model.py / model_test.py - DNN मॉडल का उपयोग कर model_test.py को परिभाषित करता है
  • beam_dag_runner.py / kubeflow_dag_runner.py - प्रत्येक आर्केस्ट्रा इंजन के लिए धावकों को परिभाषित करें

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

नोटबुक tfx run CLI कमांड का उपयोग करके पाइपलाइन tfx run

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

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

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

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

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

तब नोटबुक tfx pipeline create का उपयोग tfx pipeline create कमांड बनाता है।

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

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

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

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

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

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

8. अपने डेटा को मान्य करें

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

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

अवयव

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

  • उदाहरण इनपुट इनपुट डेटासेट्स को विभाजित और विभाजित करता है।
  • 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_dag_runner.py \
  --endpoint={ENDPOINT}

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

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

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

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

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

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

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

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

  • सुविधा पार
  • शब्दसंग्रह
  • embeddings
  • पीसीए
  • श्रेणीबद्ध एन्कोडिंग

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

अवयव

परिवर्तन

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

pipeline / pipeline.py , उस लाइन को ढूंढें और अनलोड करें जो पाइपलाइन में ट्रांसफ़ॉर्म लागू करती है।

# components.append(transform)

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

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

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

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

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

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

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

10. प्रशिक्षण

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

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

अवयव

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

pipeline / pipeline.py , ट्रेनर को पाइप लाइन के लिए अपग्रेड करने और ढूंढने का तरीका:

# components.append(trainer)

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

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

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

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

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

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

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

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

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

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

अवयव

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

pipeline / pipeline.py , उस रेखा को ढूंढें और अनलोड करें जो पाइपलाइन के लिए मूल्यांकनकर्ता को जोड़ती है:

components.append(evaluator)

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

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

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

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

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

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

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

  • Pusher SavedModels को प्रसिद्ध स्थानों पर भेजता है

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

  • TensorFlow सर्व करना
  • TensorFlow Lite
  • TensorFlow जेएस
  • टेंसोरफ्लो हब

अवयव

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

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

pipeline / pipeline.py , उस लाइन को ढूंढें और अनलोड करें जो पाइपलाइन के लिए पुशर को जोड़ती है:

# components.append(pusher)

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

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

उपलब्ध तैनाती के लक्ष्य

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

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

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

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

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

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

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

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

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

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

pipeline.py खोलने के लिए डबल-क्लिक करेंCsvExampleGen टिप्पणी करें और BigQueryExampleGen की एक आवृत्ति बनाने वाली रेखा को CsvExampleGen । आपको create_pipeline फ़ंक्शन के query तर्क को create_pipeline करने की भी आवश्यकता है।

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

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

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

kubeflow_dag_runner.py खोलने के लिए डबल-क्लिक करेंcreate_pipeline फ़ंक्शन के लिए दो तर्क, query और beam_pipeline_args को create_pipeline करें।

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

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

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

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

Dataflow का प्रयास करें

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

# 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 की परिभाषा को DATAFLOW_BEAM_PIPELINE_ARGS

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

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

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

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

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

आप क्लाउड कंसोल में डेटाफ़्लो में अपनी डेटाफ़्लो जॉब पा सकते हैं।

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

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

फ़ाइलों को संपादित करने से पहले, आपको पहले AI प्लेटफ़ॉर्म ट्रेनिंग और प्रीडिक्शन एपीआई को सक्षम करना होगा।

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

निर्देशिका को एक स्तर तक बदलें, और kubeflow_dag_runner.py खोलने के लिए डबल-क्लिक करें । Uncomment ai_platform_training_args और ai_platform_serving_args

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

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

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

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

14. अपने डेटा का उपयोग करें

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

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

अगर आपका डाटा फाइलों में स्टोर है

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

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

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

ट्रेनर के बारे में अधिक जानें

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

सफाई करना

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

वैकल्पिक रूप से, आप प्रत्येक कंसोल पर जाकर व्यक्तिगत संसाधनों को साफ कर सकते हैं: - Google क्लाउड स्टोरेज - Google कंटेनर रजिस्ट्री - Google कुबेरनेट्स इंजन