انضم إلى مجتمع SIG TFX-Addons وساعد في جعل TFX أفضل!
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

TFX على خطوط أنابيب Cloud AI Platform

مقدمة

تم تصميم هذا البرنامج التعليمي لتقديم TensorFlow Extended (TFX) و Cloud AI Platform Pipelines ، ويساعدك على تعلم كيفية إنشاء مسارات التعلم الآلي الخاصة بك على Google Cloud. يُظهر التكامل مع TFX و AI Platform Pipelines و Kubeflow ، بالإضافة إلى التفاعل مع TFX في أجهزة الكمبيوتر المحمولة Jupyter.

في نهاية هذا البرنامج التعليمي ، ستكون قد قمت بإنشاء وتشغيل ML Pipeline ، مستضاف على Google Cloud. ستكون قادرًا على تصور نتائج كل شوط ، وعرض نسب القطع الأثرية التي تم إنشاؤها.

ستتبع عملية تطوير نموذجية لـ ML ، بدءًا من فحص مجموعة البيانات ، وانتهاءً بخط أنابيب عمل كامل. على طول الطريق سوف تستكشف طرق تصحيح الأخطاء وتحديث خط الأنابيب الخاص بك ، وقياس الأداء.

مجموعة بيانات تاكسي شيكاغو

سيارة اجرهتاكسي شيكاغو

أنت تستخدم مجموعة بيانات رحلات سيارات الأجرة الصادرة عن مدينة شيكاغو.

يمكنك قراءة المزيد حول مجموعة البيانات في Google BigQuery . استكشف مجموعة البيانات الكاملة في BigQuery UI .

هدف النموذج - التصنيف الثنائي

هل سيقدم العميل إكرامية أكثر أم أقل من 20٪؟

1. إعداد مشروع Google Cloud

1.a إعداد بيئتك على Google Cloud

للبدء ، تحتاج إلى حساب Google Cloud. إذا كان لديك بالفعل واحد ، فانتقل إلى إنشاء مشروع جديد .

  1. انتقل إلى Google Cloud Console .

  2. وافق على شروط وأحكام Google Cloud

  3. إذا كنت ترغب في البدء بحساب تجريبي مجاني ، فانقر فوق جرب مجانًا (أو ابدأ مجانًا ).

    1. اختر بلدك.

    2. وافق على شروط الخدمة.

    3. أدخل تفاصيل الفواتير.

      لن يتم محاسبتك في هذه المرحلة. إذا لم يكن لديك مشاريع Google Cloud أخرى ، فيمكنك إكمال هذا البرنامج التعليمي دون تجاوز حدود Google Cloud Free Tier ، والتي تتضمن 8 مراكز كحد أقصى تعمل في نفس الوقت.

1.b إنشاء مشروع جديد.

  1. من لوحة تحكم Google Cloud الرئيسية ، انقر فوق القائمة المنسدلة للمشروع بجوار رأس Google Cloud Platform ، وحدد مشروع جديد .
  2. امنح مشروعك اسمًا وأدخل تفاصيل المشروع الأخرى
  3. بمجرد إنشاء مشروع ، حدده من القائمة المنسدلة للمشروع.

2. قم بإعداد ونشر AI Platform Pipeline على مجموعة Kubernetes جديدة

  1. انتقل إلى صفحة AI Platform Pipelines Clusters .

    ضمن قائمة التنقل الرئيسية: ≡> AI Platform> Pipelines

  2. انقر فوق + مثيل جديد لإنشاء كتلة جديدة.

  3. في صفحة نظرة عامة على خطوط أنابيب Kubeflow ، انقر فوق تكوين .

    قد تضطر إلى الانتظار عدة دقائق قبل الانتقال ، بينما يتم تمكين Kubernetes Engine APIs لك.

  4. في صفحة نشر خطوط أنابيب Kubeflow :

    1. حدد منطقة (أو "منطقة") لمجموعتك.

    2. هام حدد المربع المسمى السماح بالوصول إلى واجهات برمجة التطبيقات السحابية التالية . (هذا مطلوب لهذه المجموعة للوصول إلى الأجزاء الأخرى من مشروعك. إذا فاتتك هذه الخطوة ، فسيكون إصلاحها لاحقًا صعبًا بعض الشيء.)

    3. انقر فوق إنشاء ، وانتظر عدة دقائق حتى يتم إنشاء الكتلة.

    4. حدد مساحة الاسم واسم المثيل (لا بأس باستخدام الإعدادات الافتراضية). ليس عليك التحقق من استخدام التخزين المُدار .

    5. انقر فوق نشر ، وانتظر عدة لحظات حتى يتم نشر خط الأنابيب. من خلال نشر خطوط أنابيب Kubeflow ، فإنك تقبل شروط الخدمة.

3. إعداد مثيل Cloud AI Platform Notebook.

  1. انتقل إلى صفحة أجهزة الكمبيوتر المحمولة بنظام AI .

    ضمن قائمة التنقل الرئيسية: ≡ -> AI Platform -> Notebooks

  2. إذا طُلب منك ، قم بتمكين Compute Engine API.

  3. قم بإنشاء مثيل جديد مع تثبيت TensorFlow 2.1 (أو أعلى).

    مثيل جديد -> TensorFlow 2.1 -> بدون GPU

    للبقاء ضمن حدود الطبقة المجانية ، لا تقبل الإعدادات الافتراضية هنا. تحتاج إلى تقليل عدد وحدات vCPU المتاحة لهذا المثيل من 4 إلى 2:

    1. حدد تخصيص في الجزء السفلي من نموذج مثيل دفتر ملاحظات جديد .
    2. حدد تكوين الجهاز مع 1 أو 2 vCPUs.

4. قم بتشغيل دفتر الشروع في العمل

  1. انتقل إلى صفحة AI Platform Pipelines Clusters .

    ضمن قائمة التنقل الرئيسية: ≡ -> AI Platform -> Pipelines

  2. في سطر المجموعة الذي تستخدمه في هذا البرنامج التعليمي ، انقر فوق فتح لوحة معلومات خطوط الأنابيب .

    لوحة القيادة المفتوحة

  3. في صفحة " البدء" ، انقر فوق Open TF 2.1 Notebook .

  4. حدد مثيل المحمول الذي تستخدمه لهذا البرنامج التعليمي ومتابعة.

    حدد دفتر الملاحظات

5. استمر في العمل في Notebook

تثبيت

يبدأ دفتر الخطوات الأولى بتثبيت TFX و Kubeflow Pipelines (KFP) في الجهاز الظاهري الذي يعمل فيه Jupyter Lab ، إلى جانب وحدة Skaffold :

قم بتثبيت tf و kfp

ثم يقوم بتعيين PATH ليشمل دليل Python الثنائي للمستخدم ودليل يحتوي على skaffold :

اختر الطريق

ثم يتحقق من إصدار TFX المثبت ، ويقوم بعملية الاستيراد ، ويعين ويطبع معرّف المشروع:

تحقق من إصدار python واستيراده

تواصل مع خدمات جوجل كلاود

يحتاج تكوين خط الأنابيب إلى معرف المشروع الخاص بك ، والذي يمكنك الحصول عليه من خلال دفتر الملاحظات وتعيينه كمتغير بيئي.

# 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 الخاص بلوحة معلومات خطوط الأنابيب. انتقل إلى لوحة معلومات Kubeflow Pipeline وانظر إلى عنوان URL. نقطة النهاية هي كل شيء في عنوان URL بعد https:// يصل إلى googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

يقوم الكمبيوتر الدفتري بعد ذلك بتعيين اسم فريد لصورة Docker المخصصة:

# 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("~"),"deployed_notebook",PIPELINE_NAME)

ثم يستخدم دفتر الملاحظات tfx CLI لنسخ قالب خط الأنابيب. يستخدم هذا البرنامج التعليمي مجموعة بيانات Chicago Taxi لإجراء تصنيف ثنائي ، لذا يضبط النموذج النموذج على taxi :

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

يقوم الكمبيوتر الدفتري بعد ذلك بتغيير سياق CWD الخاص به إلى دليل المشروع:

%cd {PROJECT_DIR}

تصفح ملفات خطوط الأنابيب

على الجانب الأيسر من Cloud AI Platform Notebook ، يجب أن ترى متصفح الملفات. يجب أن يكون هناك دليل باسم خط الأنابيب الخاص بك ( my_pipeline ). افتحه واعرض الملفات. (ستتمكن من فتحها وتحريرها من بيئة دفتر الملاحظات أيضًا.)

# You can also list the files from the shell
 ls

tfx template copy الأمر tfx template copy أعلاه سقالة أساسية من الملفات التي tfx template copy . وتشمل هذه رموز مصدر Python وبيانات العينة ودفاتر Jupyter. هذه مخصصة لهذا المثال بالذات. بالنسبة لخطوط الأنابيب الخاصة بك ، ستكون هذه هي الملفات الداعمة التي يتطلبها خط الأنابيب الخاص بك.

فيما يلي وصف موجز لملفات Python.

  • pipeline - يحتوي هذا الدليل على تعريف خط الأنابيب
    • configs.py - يعرّف الثوابت المشتركة configs.py خطوط الأنابيب
    • pipeline.py - يحدد مكونات TFX وخط الأنابيب
  • models - يحتوي هذا الدليل على تعريفات نموذج ML.
    • features.py features_test.py - يحدد ميزات النموذج
    • preprocessing.py / preprocessing_test.py - يحدد وظائف المعالجة المسبقة باستخدام tf::Transform
    • estimator - يحتوي هذا الدليل على نموذج قائم على المقدر.
      • constants.py py - تحدد ثوابت النموذج
      • model.py / model_test.py - يحدد نموذج DNN باستخدام مقدر TF
    • keras - يحتوي هذا الدليل على نموذج قائم على Keras.
      • constants.py py - تحدد ثوابت النموذج
      • model.py / model_test.py - يحدد نموذج DNN باستخدام Keras
  • beam_dag_runner.py / kubeflow_dag_runner.py - تحديد العدائين لكل محرك تزامن

7. قم بتشغيل أول خط أنابيب TFX على Kubeflow

سيقوم الكمبيوتر الدفتري بتشغيل خط الأنابيب باستخدام الأمر tfx run CLI.

قم بتوصيله بوحدة التخزين

تخلق خطوط الأنابيب الجارية القطع الأثرية التي يجب تخزينها في ML-Metadata . تشير المصنوعات إلى الحمولات ، وهي ملفات يجب تخزينها في نظام ملفات أو تخزين كتلة. في هذا البرنامج التعليمي ، سنستخدم GCS لتخزين حمولات البيانات الوصفية الخاصة بنا ، باستخدام الحاوية التي تم إنشاؤها تلقائيًا أثناء الإعداد. سيكون اسمه <your-project-id>-kubeflowpipelines-default .

قم بإنشاء خط الأنابيب

سيقوم الكمبيوتر الدفتري بتحميل بيانات العينة الخاصة بنا إلى حاوية GCS حتى نتمكن من استخدامها في خط الأنابيب لاحقًا.

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

ثم يستخدم الكمبيوتر الدفتري الأمر tfx pipeline create لإنشاء خط الأنابيب.

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

أثناء إنشاء خط أنابيب ، سيتم إنشاء Dockerfile و build.yaml لإنشاء صورة Docker. لا تنس إضافة هذه الملفات إلى نظام التحكم بالمصادر (على سبيل المثال ، git) مع ملفات المصدر الأخرى.

قم بتشغيل خط الأنابيب

ثم يستخدم الكمبيوتر الدفتري الأمر tfx run create لبدء تشغيل تنفيذ لخط الأنابيب الخاص بك. سترى أيضًا هذا التشغيل مدرجًا ضمن التجارب في لوحة معلومات Kubeflow Pipelines Dashboard.

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

يمكنك عرض خط الأنابيب الخاص بك من Kubeflow Pipelines Dashboard.

8. تحقق من صحة البيانات الخاصة بك

المهمة الأولى في أي علم بيانات أو مشروع ML هي فهم البيانات وتنظيفها.

  • فهم أنواع البيانات لكل معلم
  • ابحث عن القيم الشاذة والقيم المفقودة
  • افهم توزيعات كل ميزة

عناصر

مكونات البياناتمكونات البيانات

  • يستوعب ExampleGen مجموعة بيانات الإدخال ويقسمها .
  • StatisticsGen يحسب إحصائيات لمجموعة البيانات.
  • SchemaGen SchemaGen بفحص الإحصائيات وإنشاء مخطط بيانات.
  • يبحث ExampleValidator عن القيم الشاذة والقيم المفقودة في مجموعة البيانات.

في محرر ملف مختبر Jupyter:

في 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 لاستكشاف مجموعة بيانات والتحقق منها ، راجع الأمثلة على tensorflow.org .

9. ميزة الهندسة

يمكنك زيادة الجودة التنبؤية لبياناتك و / أو تقليل الأبعاد باستخدام هندسة الميزات.

  • تقاطعات الميزة
  • المفردات
  • حفلات الزفاف
  • PCA
  • الترميز القاطع

تتمثل إحدى مزايا استخدام TFX في أنك ستكتب رمز التحويل الخاص بك مرة واحدة ، وستكون التحولات الناتجة متسقة بين التدريب والخدمة.

عناصر

تحول

  • ينفذ التحويل هندسة الميزات على مجموعة البيانات.

في محرر ملف مختبر Jupyter:

في 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 لتحليل أداء النموذج

عناصر

في محرر ملف مختبر Jupyter:

في 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. تحليل أداء النموذج

فهم أكثر من مجرد مقاييس المستوى الأعلى.

  • يختبر المستخدمون أداء نموذجي لاستفساراتهم فقط
  • يمكن إخفاء الأداء الضعيف لشرائح البيانات بواسطة مقاييس المستوى الأعلى
  • نموذج العدل مهم
  • غالبًا ما تكون المجموعات الفرعية الرئيسية للمستخدمين أو البيانات مهمة جدًا ، وقد تكون صغيرة
    • الأداء في الظروف الحرجة ولكن غير العادية
    • الأداء للجماهير الرئيسية مثل المؤثرين
  • إذا كنت تستبدل نموذجًا قيد الإنتاج حاليًا ، فتأكد أولاً من أن النموذج الجديد أفضل

عناصر

  • المقيم يقوم بتحليل عميق لنتائج التدريب.

في محرر ملف مختبر Jupyter:

في 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 JS
  • TensorFlow Hub

عناصر

  • ينشر Pusher النموذج إلى بنية تحتية تخدم.

في محرر ملف مختبر Jupyter:

في pipeline / pipeline.py ، ابحث عن الخط الذي يلحق Pusher بخط الأنابيب وأزل تعليقه:

# components.append(pusher)

تحقق من مخرجات خطوط الأنابيب

بالنسبة إلى Kubeflow Orchestrator ، تفضل بزيارة لوحة معلومات KFP وابحث عن مخرجات خطوط الأنابيب في الصفحة لتشغيل خط الأنابيب الخاص بك. انقر فوق علامة التبويب "التجارب" على اليسار ، و "كل عمليات التشغيل" في صفحة التجارب. يجب أن تكون قادرًا على العثور على المدى باسم خط الأنابيب الخاص بك.

أهداف النشر المتاحة

لقد قمت الآن بتدريب نموذجك والتحقق منه ، وأصبح نموذجك الآن جاهزًا للإنتاج. يمكنك الآن نشر النموذج الخاص بك على أي من أهداف نشر TensorFlow ، بما في ذلك:

  • خدمة TensorFlow ، لخدمة النموذج الخاص بك على خادم أو مزرعة خوادم ومعالجة طلبات استدلال REST و / أو gRPC.
  • TensorFlow Lite ، لتضمين نموذجك في تطبيق جوال أصلي يعمل بنظام Android أو iOS ، أو في تطبيق Raspberry Pi أو IoT أو متحكم دقيق.
  • TensorFlow.js ، لتشغيل النموذج الخاص بك في متصفح الويب أو تطبيق Node.JS.

المزيد من الأمثلة المتقدمة

المثال الموضح أعلاه يهدف فقط إلى البدء. فيما يلي بعض الأمثلة على التكامل مع الخدمات السحابية الأخرى.

اعتبارات موارد خطوط أنابيب Kubeflow

بناءً على متطلبات عبء العمل الخاص بك ، قد يلبي التكوين الافتراضي لنشر Kubeflow Pipelines احتياجاتك وقد لا يلبي. يمكنك تخصيص تكوينات الموارد الخاصة بك باستخدام pipeline_operator_funcs في مكالمتك إلى KubeflowDagRunnerConfig .

pipeline_operator_funcs هي قائمة OpFunc ، والتي تحول جميع مثيلات ContainerOp إنشاؤها في مواصفات خط أنابيب KFP والتي تم تجميعها من KubeflowDagRunner .

على سبيل المثال ، لتهيئة الذاكرة يمكننا استخدام 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 عبارة عن مستودع بيانات سحابي بدون خادم وقابل للتطوير بدرجة عالية وفعال من حيث التكلفة. يمكن استخدام BigQuery كمصدر لتدريب الأمثلة في TFX. في هذه الخطوة ، سنضيف BigQueryExampleGen إلى خط الأنابيب.

في محرر ملف مختبر Jupyter:

انقر نقرًا مزدوجًا لفتح pipeline.py . اكتب CsvExampleGen على CsvExampleGen وأزل التعليق عن السطر الذي يُنشئ CsvExampleGen من BigQueryExampleGen . تحتاج أيضًا إلى إلغاء create_pipeline على وسيطة query الخاصة بوظيفة create_pipeline .

نحتاج إلى تحديد مشروع GCP الذي يجب استخدامه في BigQuery ، ويتم ذلك عن طريق تعيين --project في beam_pipeline_args عند إنشاء خط أنابيب.

انقر نقرًا مزدوجًا لفتح configs.py . BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS تعريف BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS و BIG_QUERY_QUERY . يجب استبدال معرّف المشروع وقيمة المنطقة في هذا الملف بالقيم الصحيحة لمشروع Google Cloud Platform الخاص بك.

تغيير الدليل مستوى واحد لأعلى. انقر فوق اسم الدليل أعلى قائمة الملفات. اسم الدليل هو اسم خط الأنابيب الذي هو my_pipeline إذا لم تقم بتغيير اسم خط الأنابيب.

انقر نقرًا مزدوجًا لفتح kubeflow_dag_runner.py . قم beam_pipeline_args ، 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 Apache Beam لتنفيذ خطوط الأنابيب المتوازية ، وهذا يعني أنه يمكنك توزيع أعباء عمل معالجة البيانات باستخدام Google Cloud Dataflow . في هذه الخطوة ، سنقوم بتعيين منسق Kubeflow لاستخدام Dataflow كنهاية خلفية لمعالجة البيانات لـ Apache Beam.

# 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 . قم DATAFLOW_BEAM_PIPELINE_ARGS تعريف GOOGLE_CLOUD_REGION و DATAFLOW_BEAM_PIPELINE_ARGS .

تغيير الدليل مستوى واحد لأعلى. انقر فوق اسم الدليل أعلى قائمة الملفات. اسم الدليل هو اسم خط الأنابيب الذي هو my_pipeline إذا لم تتغير.

انقر نقرًا مزدوجًا لفتح kubeflow_dag_runner.py . قم 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}

يمكنك العثور على وظائف Dataflow الخاصة بك في Dataflow في Cloud Console .

جرب التدريب والتنبؤ على Cloud AI Platform مع KFP

تتفاعل TFX مع العديد من خدمات GCP المُدارة ، مثل Cloud AI Platform للتدريب والتنبؤ . يمكنك تعيين مكون Trainer الخاص بك لاستخدام Cloud AI Platform Training ، وهي خدمة مُدارة لتدريب نماذج ML. علاوة على ذلك ، عندما يتم بناء النموذج الخاص بك ويكون جاهزًا للعرض ، يمكنك دفع النموذج الخاص بك إلى Cloud AI Platform Prediction لتقديمه. في هذه الخطوة ، سنقوم بتعيين مكون Trainer Pusher لاستخدام خدمات Cloud AI Platform.

قبل تحرير الملفات ، قد يتعين عليك أولاً تمكين واجهة برمجة تطبيقات AI Platform Training & Prediction API .

انقر نقرًا مزدوجًا فوق pipeline لتغيير الدليل ، وانقر نقرًا مزدوجًا لفتح configs.py . قم GCP_AI_PLATFORM_TRAINING_ARGS تعريف GOOGLE_CLOUD_REGION و GCP_AI_PLATFORM_TRAINING_ARGS و GCP_AI_PLATFORM_SERVING_ARGS . سنستخدم صورة الحاوية المخصصة لدينا لتدريب نموذج في Cloud AI Platform Training ، لذلك يجب علينا تعيين masterConfig.imageUri في GCP_AI_PLATFORM_TRAINING_ARGS إلى نفس قيمة CUSTOM_TFX_IMAGE أعلاه.

قم بتغيير الدليل بمستوى واحد لأعلى ، وانقر نقرًا مزدوجًا لفتح kubeflow_dag_runner.py . قم 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}

يمكنك العثور على وظائف التدريب الخاصة بك في Cloud AI Platform Jobs . إذا اكتمل خط الأنابيب الخاص بك بنجاح ، يمكنك العثور على النموذج الخاص بك في Cloud AI Platform Models .

14. استخدم بياناتك الخاصة

في هذا البرنامج التعليمي ، قمت بإنشاء خط أنابيب لنموذج باستخدام مجموعة بيانات Chicago Taxi. حاول الآن وضع البيانات الخاصة بك في خط الأنابيب. يمكن تخزين بياناتك في أي مكان يمكن لخط الأنابيب الوصول إليه ، بما في ذلك ملفات Google Cloud Storage أو BigQuery أو CSV.

تحتاج إلى تعديل تعريف خط الأنابيب لاستيعاب بياناتك.

إذا كانت بياناتك مخزنة في ملفات

  1. قم بتعديل DATA_PATH في kubeflow_dag_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 ل وصف نموذج ML الخاص بك .

تعرف على المزيد حول المدرب

راجع دليل مكون المدرب لمزيد من التفاصيل حول خطوط أنابيب التدريب.

تنظيف

لتنظيف جميع موارد Google Cloud المستخدمة في هذا المشروع ، يمكنك حذف مشروع Google Cloud الذي استخدمته في البرنامج التعليمي.

بدلاً من ذلك ، يمكنك تنظيف الموارد الفردية من خلال زيارة كل وحدة تحكم: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine