مقدمة
تم تصميم هذا البرنامج التعليمي لتقديم 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. إذا كان لديك بالفعل واحد ، فانتقل إلى إنشاء مشروع جديد .
انتقل إلى Google Cloud Console .
وافق على شروط وأحكام Google Cloud
إذا كنت ترغب في البدء بحساب تجريبي مجاني ، فانقر فوق جرب مجانًا (أو ابدأ مجانًا ).
اختر بلدك.
وافق على شروط الخدمة.
أدخل تفاصيل الفواتير.
لن يتم محاسبتك في هذه المرحلة. إذا لم يكن لديك مشاريع Google Cloud أخرى ، فيمكنك إكمال هذا البرنامج التعليمي دون تجاوز حدود Google Cloud Free Tier ، والتي تتضمن 8 مراكز كحد أقصى تعمل في نفس الوقت.
1.b إنشاء مشروع جديد.
- من لوحة تحكم Google Cloud الرئيسية ، انقر فوق القائمة المنسدلة للمشروع بجوار رأس Google Cloud Platform ، وحدد مشروع جديد .
- امنح مشروعك اسمًا وأدخل تفاصيل المشروع الأخرى
- بمجرد إنشاء مشروع ، حدده من القائمة المنسدلة للمشروع.
2. قم بإعداد ونشر AI Platform Pipeline على مجموعة Kubernetes جديدة
انتقل إلى صفحة AI Platform Pipelines Clusters .
ضمن قائمة التنقل الرئيسية: ≡> AI Platform> Pipelines
انقر فوق + مثيل جديد لإنشاء كتلة جديدة.
في صفحة نظرة عامة على خطوط أنابيب Kubeflow ، انقر فوق تكوين .
قد تضطر إلى الانتظار عدة دقائق قبل الانتقال ، بينما يتم تمكين Kubernetes Engine APIs لك.
في صفحة نشر خطوط أنابيب Kubeflow :
حدد منطقة (أو "منطقة") لمجموعتك.
هام حدد المربع المسمى السماح بالوصول إلى واجهات برمجة التطبيقات السحابية التالية . (هذا مطلوب لهذه المجموعة للوصول إلى الأجزاء الأخرى من مشروعك. إذا فاتتك هذه الخطوة ، فسيكون إصلاحها لاحقًا صعبًا بعض الشيء.)
انقر فوق إنشاء ، وانتظر عدة دقائق حتى يتم إنشاء الكتلة.
حدد مساحة الاسم واسم المثيل (لا بأس باستخدام الإعدادات الافتراضية). ليس عليك التحقق من استخدام التخزين المُدار .
انقر فوق نشر ، وانتظر عدة لحظات حتى يتم نشر خط الأنابيب. من خلال نشر خطوط أنابيب Kubeflow ، فإنك تقبل شروط الخدمة.
3. إعداد مثيل Cloud AI Platform Notebook.
انتقل إلى صفحة أجهزة الكمبيوتر المحمولة بنظام AI .
ضمن قائمة التنقل الرئيسية: ≡ -> AI Platform -> Notebooks
إذا طُلب منك ، قم بتمكين Compute Engine API.
قم بإنشاء مثيل جديد مع تثبيت TensorFlow 2.1 (أو أعلى).
مثيل جديد -> TensorFlow 2.1 -> بدون GPU
للبقاء ضمن حدود الطبقة المجانية ، لا تقبل الإعدادات الافتراضية هنا. تحتاج إلى تقليل عدد وحدات vCPU المتاحة لهذا المثيل من 4 إلى 2:
- حدد تخصيص في الجزء السفلي من نموذج مثيل دفتر ملاحظات جديد .
حدد تكوين الجهاز مع 1 أو 2 vCPUs.
4. قم بتشغيل دفتر الشروع في العمل
انتقل إلى صفحة AI Platform Pipelines Clusters .
ضمن قائمة التنقل الرئيسية: ≡ -> AI Platform -> Pipelines
في سطر المجموعة الذي تستخدمه في هذا البرنامج التعليمي ، انقر فوق فتح لوحة معلومات خطوط الأنابيب .
في صفحة " البدء" ، انقر فوق Open TF 2.1 Notebook .
حدد مثيل المحمول الذي تستخدمه لهذا البرنامج التعليمي ومتابعة.
5. استمر في العمل في Notebook
تثبيت
يبدأ دفتر الخطوات الأولى بتثبيت TFX و Kubeflow Pipelines (KFP) في الجهاز الظاهري الذي يعمل فيه Jupyter Lab ، إلى جانب وحدة Skaffold :
ثم يقوم بتعيين PATH
ليشمل دليل Python الثنائي للمستخدم ودليل يحتوي على skaffold
:
ثم يتحقق من إصدار TFX المثبت ، ويقوم بعملية الاستيراد ، ويعين ويطبع معرّف المشروع:
تواصل مع خدمات جوجل كلاود
يحتاج تكوين خط الأنابيب إلى معرف المشروع الخاص بك ، والذي يمكنك الحصول عليه من خلال دفتر الملاحظات وتعيينه كمتغير بيئي.
# 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 لتحليل أداء النموذج
عناصر
- يقوم المدرب بتدريب نموذج TensorFlow.
في محرر ملف مختبر 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.
تحتاج إلى تعديل تعريف خط الأنابيب لاستيعاب بياناتك.
إذا كانت بياناتك مخزنة في ملفات
- قم بتعديل
DATA_PATH
فيkubeflow_dag_runner.py
، مشيرًا إلى الموقع.
إذا تم تخزين بياناتك في BigQuery
- قم بتعديل
BIG_QUERY_QUERY
في configs.py إلى بيان الاستعلام الخاص بك. - أضف ميزات في
models
/features.py
. - تعديل
models
/preprocessing.py
لتحويل بيانات الإدخال للتدريب . - تعديل
models
/keras
/model.py
وmodels
/keras
/constants.py
ل وصف نموذج ML الخاص بك .
تعرف على المزيد حول المدرب
راجع دليل مكون المدرب لمزيد من التفاصيل حول خطوط أنابيب التدريب.
تنظيف
لتنظيف جميع موارد Google Cloud المستخدمة في هذا المشروع ، يمكنك حذف مشروع Google Cloud الذي استخدمته في البرنامج التعليمي.
بدلاً من ذلك ، يمكنك تنظيف الموارد الفردية من خلال زيارة كل وحدة تحكم: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine