انضم إلى مجتمع SIG TFX-Addons وساعد في جعل TFX أفضل! انضم إلى SIG TFX-Addons

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

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

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

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

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

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

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

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

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

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

  1. انتقل إلى وحدة التحكم سحابة جوجل .

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

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

    1. اختر بلدك.

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

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

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

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

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

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

  1. انتقل إلى خطوط الأنابيب الكتل منصة AI الصفحة.

    ضمن قائمة التنقل الرئيسية: ≡> 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 الصفحة.

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

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

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

  3. على الصفحة الشروع في العمل، انقر فوق فتح TF 2.1 الدفتري.

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

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

5. مواصلة العمل في Notebook

ثبت

الشروع يبدأ الدفتري عن طريق تثبيت TFX و Kubeflow خطوط الأنابيب (KFP) في VM الذي يشغل Jupyter مختبر في.

ثم يتحقق من إصدار 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("~"),"imported",PIPELINE_NAME)

ثم يستخدم دفتر tfx CLI لنسخ القالب الأنابيب. يستخدم هذا البرنامج التعليمي مجموعة البيانات شيكاغو تاكسي لأداء تصنيف ثنائي، لذلك يحدد قالب النموذج ل 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 الأمر أعلاه خلق سقالة الأساسية من الملفات التي بناء خط أنابيب. وتشمل هذه رموز مصدر Python وبيانات العينة ودفاتر Jupyter. هذه مخصصة لهذا المثال بالذات. بالنسبة لخطوط الأنابيب الخاصة بك ، ستكون هذه هي الملفات الداعمة التي يتطلبها خط الأنابيب الخاص بك.

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

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

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

سوف دفتر تشغيل خط أنابيب باستخدام 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 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 uncomment أسطر التي إلحاق هذه المكونات إلى خط أنابيب الخاص بك:

# 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}"

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

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

مثال أكثر تقدمًا

المثال المعروض هنا يهدف فقط إلى البدء. للمثال أكثر تقدما رؤية TensorFlow بيانات التحقق من صحة Colab .

لمزيد من المعلومات حول استخدام TFDV لاستكشاف والتحقق من صحة بيانات، راجع الأمثلة على tensorflow.org .

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

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

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

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

عناصر

تحول

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

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

في 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}"

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

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

مثال أكثر تقدمًا

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

10. التدريب

قم بتدريب نموذج TensorFlow باستخدام بياناتك المحولة والرائعة والنظيفة.

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

عناصر

  • مدرب يدرب نموذج TensorFlow.

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

في pipeline / pipeline.py ، العثور ثم uncomment الذي يلحق المدرب إلى خط أنابيب:

# components.append(trainer)

قم بتحديث خط الأنابيب وأعد تشغيله

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

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

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

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

مثال أكثر تقدمًا

المثال المعروض هنا يهدف فقط إلى البدء. للمثال أكثر تقدما رؤية TensorBoard التعليمي .

11. تحليل أداء النموذج

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

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

عناصر

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

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

في 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}"

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

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

12. خدمة النموذج

إذا كان النموذج الجديد جاهزًا ، فاجعله كذلك.

  • ينشر Pusher SavedModels في المواقع المعروفة

أهداف النشر تتلقى نماذج جديدة من مواقع معروفة

  • خدمة TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Hub

عناصر

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

في pipeline / pipeline.py ، والعثور على وuncomment السطر الذي يلحق مروج المخدرات إلى خط أنابيب:

# components.append(pusher)

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

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

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

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

  • TensorFlow خدمة ، لخدمة النموذج الخاص بك في الخادم أو الخادم الزراعية وتجهيز REST و / أو طلبات الاستدلال gRPC.
  • TensorFlow لايت ، لإدراج النموذج الخاص بك في تطبيق نظام Android أو iOS المحمول الأصلي، أو في بي توت العليق، تقنيات عمليات، أو تطبيق متحكم.
  • TensorFlow.js ، لتشغيل النموذج الخاص بك في متصفح ويب أو تطبيق نود.جي إس.

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

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

اعتبارات موارد خطوط أنابيب كوبفلو

اعتمادًا على متطلبات عبء العمل الخاص بك ، قد يلبي التكوين الافتراضي لنشر Kubeflow Pipelines احتياجاتك وقد لا يلبي. يمكنك تخصيص تكوينات الموارد باستخدام 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

الاستعلام الشامل هو serverless، تدرجية عالية، ومستودع البيانات سحابة فعالة من حيث التكلفة. يمكن استخدام BigQuery كمصدر لتدريب الأمثلة في TFX. في هذه الخطوة، وسوف نضيف BigQueryExampleGen إلى خط أنابيب.

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

انقر نقرا مزدوجا فوق لفتح pipeline.py . التعليق الخروج CsvExampleGen وحرر السطر الذي يخلق مثيل BigQueryExampleGen . تحتاج أيضا إلى غير تعليق على query حجة create_pipeline وظيفة.

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

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

تغيير الدليل مستوى واحد لأعلى. انقر فوق اسم الدليل أعلى قائمة الملفات. اسم الدليل هو اسم خط الأنابيب الذي هو 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}

جرب Dataflow

العديد من استخدام مكونات TFX أباتشي شعاع لتنفيذ خطوط أنابيب بيانات موازية، وهذا يعني أنه يمكنك توزيع البيانات معالجة أعباء العمل باستخدام جوجل الغيمة تدفق البيانات . في هذه الخطوة ، سنقوم بتعيين منسق 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 . غير تعليق تعريف 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}

يمكنك العثور على وظائف تدفق البيانات الخاصة بك في تدفق البيانات في وحدة التحكم الغيمة .

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

interoperates TFX مع العديد من الخدمات GCP المدارة، مثل سحابة منصة AI للتدريب والتنبؤ به . يمكنك تعيين الخاص بك Trainer مكون لاستخدام سحابة AI منصة التدريب، والخدمات المدارة لتدريب نماذج ML. وعلاوة على ذلك، عندما تم بناء النموذج الخاص بك وجاهزة للعمل، يمكنك دفع النموذج الخاص بك إلى نظام التشغيل السحابي AI التنبؤ لخدمة. في هذه الخطوة، فإننا سوف نضع لدينا Trainer و Pusher مكون لاستخدام الخدمات السحابية منصة AI.

قبل تحرير الملفات، قد يكون لديك أولا لتمكين منصة AI التدريب وAPI التنبؤ.

انقر نقرا مزدوجا فوق pipeline لتغيير الدليل، وانقر نقرا مزدوجا لفتح configs.py . غير تعليق تعريف GOOGLE_CLOUD_REGION ، GCP_AI_PLATFORM_TRAINING_ARGS و GCP_AI_PLATFORM_SERVING_ARGS . سوف نستخدم عادتنا بنيت صورة حاوية لتدريب نموذجا في سحابة AI منصة التدريب، لذلك يجب علينا وضع 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}

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

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

في هذا البرنامج التعليمي ، قمت بإنشاء خط أنابيب لنموذج باستخدام مجموعة بيانات Chicago Taxi. حاول الآن وضع بياناتك الخاصة في خط الأنابيب. يمكن تخزين بياناتك في أي مكان يمكن لخط الأنابيب الوصول إليه ، بما في ذلك ملفات Google Cloud Storage أو 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 ل وصف نموذج ML الخاص بك .

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

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

تنظيف

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

بدلا من ذلك، يمكنك تنظيف الموارد الفردية عن طريق زيارة كل لوحات المفاتيح: - جوجل سحابة التخزين - قلم الحاويات جوجل - جوجل محرك Kubernetes