مقدمة
تم تصميم هذا البرنامج التعليمي لتقديم TensorFlow Extended (TFX) و AIPlatform Pipelines ، ولمساعدتك على تعلم كيفية إنشاء مسارات التعلم الآلي الخاصة بك على Google Cloud. يظهر التكامل مع TFX و AI Platform Pipelines و Kubeflow ، بالإضافة إلى التفاعل مع TFX في دفاتر Jupyter.
في نهاية هذا البرنامج التعليمي ، ستكون قد قمت بإنشاء وتشغيل ML Pipeline ، مستضاف على Google Cloud. ستكون قادرًا على تصور نتائج كل شوط ، وعرض نسب القطع الأثرية التي تم إنشاؤها.
ستتبع عملية تطوير نموذجية لتعلم الآلة ، بدءًا من فحص مجموعة البيانات ، وانتهاءً بخط أنابيب عمل كامل. على طول الطريق سوف تستكشف طرق تصحيح الأخطاء وتحديث خط الأنابيب الخاص بك ، وقياس الأداء.
مجموعة بيانات تاكسي شيكاغو
أنت تستخدم مجموعة بيانات رحلات سيارات الأجرة الصادرة عن مدينة شيكاغو.
يمكنك قراءة المزيد حول مجموعة البيانات في 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 API
في صفحة نشر خطوط أنابيب Kubeflow :
حدد منطقة (أو "منطقة") لمجموعتك. يمكن تعيين الشبكة والشبكة الفرعية ، ولكن لأغراض هذا البرنامج التعليمي سنتركهما افتراضيتين.
هام حدد المربع المسمى السماح بالوصول إلى واجهات برمجة التطبيقات السحابية التالية . (هذا مطلوب لهذه المجموعة للوصول إلى الأجزاء الأخرى من مشروعك. إذا فاتتك هذه الخطوة ، فسيكون إصلاحها لاحقًا صعبًا بعض الشيء.)
انقر فوق إنشاء كتلة جديدة ، وانتظر عدة دقائق حتى يتم إنشاء الكتلة. هذا سوف يستغرق بضع دقائق. عند اكتماله سترى رسالة مثل:
تم إنشاء الكتلة "الكتلة -1" بنجاح في المنطقة "us-central1-a".
حدد مساحة الاسم واسم المثيل (لا بأس باستخدام الإعدادات الافتراضية). لأغراض هذا البرنامج التعليمي ، لا تحقق من المنفذ .
انقر فوق نشر ، وانتظر عدة لحظات حتى يتم نشر خط الأنابيب. من خلال نشر خطوط أنابيب Kubeflow ، فإنك تقبل شروط الخدمة.
3. إعداد مثيل Cloud AI Platform Notebook.
انتقل إلى صفحة Vertex AI Workbench . في المرة الأولى التي تقوم فيها بتشغيل Workbench ، ستحتاج إلى تمكين Notebooks API.
ضمن قائمة التنقل الرئيسية: ≡ -> Vertex AI -> Workbench
إذا طُلب منك ، قم بتمكين Compute Engine API.
قم بإنشاء دفتر ملاحظات جديد مع تثبيت TensorFlow Enterprise 2.7 (أو أعلى).
دفتر ملاحظات جديد -> TensorFlow Enterprise 2.7 -> بدون GPU
حدد منطقة ومنطقة ، وقم بتسمية مثيل دفتر الملاحظات.
للبقاء ضمن حدود المستوى المجاني ، قد تحتاج إلى تغيير الإعدادات الافتراضية هنا لتقليل عدد وحدات المعالجة المركزية الافتراضية المتاحة لهذا المثيل من 4 إلى 2:
- حدد خيارات متقدمة في الجزء السفلي من نموذج دفتر ملاحظات جديد .
ضمن تكوين الجهاز ، قد ترغب في تحديد تكوين مع 1 أو 2 vCPU إذا كنت بحاجة إلى البقاء في المستوى المجاني.
انتظر حتى يتم إنشاء دفتر الملاحظات الجديد ، ثم انقر فوق تمكين واجهة برمجة تطبيقات Notebooks
4. قم بتشغيل دفتر الشروع في العمل
انتقل إلى صفحة AI Platform Pipelines Clusters .
ضمن قائمة التنقل الرئيسية: ≡ -> AI Platform -> خطوط الأنابيب
في سطر المجموعة الذي تستخدمه في هذا البرنامج التعليمي ، انقر فوق فتح لوحة معلومات خطوط الأنابيب .
في صفحة البدء ، انقر فوق Open a Cloud AI Platform Notebook على Google Cloud .
حدد مثيل Notebook الذي تستخدمه لهذا البرنامج التعليمي ثم متابعة ، ثم تأكيد .
5. مواصلة العمل في Notebook
تثبيت
يبدأ دفتر الخطوات الأولى بتثبيت TFX و Kubeflow Pipelines (KFP) في الجهاز الظاهري الذي يعمل فيه Jupyter Lab.
ثم يتحقق من إصدار 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("~"),"imported",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
أعلاه سقالة أساسية من الملفات التي تنشئ مسارًا. وتشمل هذه الرموز المصدر 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
py - تحدد ثوابت النموذج -
model.py
/model_test.py
- يحدد نموذج DNN باستخدام مقدر TF
-
-
keras
- يحتوي هذا الدليل على نموذج قائم على Keras.-
constants.py
py - تحدد ثوابت النموذج -
model.py
/model_test.py
- يحدد نموذج DNN باستخدام Keras
-
-
-
beam_runner.py
/kubeflow_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/taxi/data.csv
ثم يستخدم الكمبيوتر الدفتري الأمر tfx pipeline create
لإنشاء خط الأنابيب.
!tfx pipeline create \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT} \
--build-image
أثناء إنشاء خط أنابيب ، سيتم إنشاء Dockerfile
لإنشاء صورة Docker. لا تنس إضافة هذه الملفات إلى نظام التحكم بالمصادر (على سبيل المثال ، git) مع ملفات المصدر الأخرى.
قم بتشغيل خط الأنابيب
يستخدم الكمبيوتر الدفتري بعد ذلك الأمر tfx run create
لبدء تشغيل تنفيذ لخط الأنابيب الخاص بك. سترى أيضًا هذا التشغيل مدرجًا ضمن التجارب في لوحة معلومات Kubeflow Pipelines Dashboard.
tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}
يمكنك عرض خط الأنابيب الخاص بك من Kubeflow Pipelines Dashboard Dashboard.
8. تحقق من صحة البيانات الخاصة بك
المهمة الأولى في أي علم بيانات أو مشروع ML هي فهم البيانات وتنظيفها.
- فهم أنواع البيانات لكل معلم
- ابحث عن القيم الشاذة والقيم المفقودة
- افهم توزيعات كل ميزة
عناصر
- يستوعب ExampleGen مجموعة بيانات الإدخال ويقسمها.
- StatisticsGen يحسب إحصائيات لمجموعة البيانات.
- SchemaGen SchemaGen بفحص الإحصائيات وإنشاء مخطط بيانات.
- يبحث ExampleValidator عن القيم الشاذة والقيم المفقودة في مجموعة البيانات.
في محرر ملف Jupyter lab:
في 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}"
تحقق من خط الأنابيب
بالنسبة إلى Kubeflow Orchestrator ، تفضل بزيارة لوحة معلومات KFP وابحث عن مخرجات خطوط الأنابيب في الصفحة لتشغيل خط الأنابيب الخاص بك. انقر فوق علامة التبويب "التجارب" على اليسار ، و "كل عمليات التشغيل" في صفحة التجارب. يجب أن تكون قادرًا على العثور على المدى باسم خط الأنابيب الخاص بك.
مثال أكثر تقدمًا
إن الغرض من المثال المعروض هنا هو البدء فقط. للحصول على مثال أكثر تقدمًا ، راجع TensorFlow Data Validation Colab .
لمزيد من المعلومات حول استخدام TFDV لاستكشاف مجموعة بيانات والتحقق منها ، راجع الأمثلة على tensorflow.org .
9. ميزة الهندسة
يمكنك زيادة الجودة التنبؤية لبياناتك و / أو تقليل الأبعاد باستخدام هندسة الميزات.
- تقاطعات الميزة
- المفردات
- حفلات الزفاف
- PCA
- الترميز القاطع
تتمثل إحدى مزايا استخدام TFX في أنك ستكتب رمز التحويل الخاص بك مرة واحدة ، وستكون التحولات الناتجة متسقة بين التدريب والخدمة.
عناصر
- ينفذ التحويل هندسة الميزات على مجموعة البيانات.
في محرر ملف Jupyter lab:
في pipeline
/ pipeline.py
، ابحث عن السطر الذي يلحق التحويل بخط الأنابيب وأزله من التعليق.
# 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 Transform Colab .
10. التدريب
قم بتدريب نموذج TensorFlow باستخدام بياناتك المحولة والنظيفة والرائعة.
- قم بتضمين التحويلات من الخطوة السابقة حتى يتم تطبيقها بشكل متسق
- حفظ النتائج كنموذج SavedModel للإنتاج
- تصور واستكشف عملية التدريب باستخدام TensorBoard
- احفظ أيضًا نموذج EvalSavedModel لتحليل أداء النموذج
عناصر
- يقوم المدرب بتدريب نموذج TensorFlow.
في محرر ملف Jupyter lab:
في 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}"
تحقق من مخرجات خطوط الأنابيب
بالنسبة إلى Kubeflow Orchestrator ، تفضل بزيارة لوحة معلومات KFP وابحث عن مخرجات خطوط الأنابيب في الصفحة لتشغيل خط الأنابيب الخاص بك. انقر فوق علامة التبويب "التجارب" على اليسار ، و "كل عمليات التشغيل" في صفحة التجارب. يجب أن تكون قادرًا على العثور على المدى باسم خط الأنابيب الخاص بك.
مثال أكثر تقدمًا
إن الغرض من المثال المعروض هنا هو البدء فقط. للحصول على مثال أكثر تقدمًا ، راجع البرنامج التعليمي TensorBoard .
11. تحليل أداء النموذج
فهم أكثر من مجرد مقاييس المستوى الأعلى.
- يختبر المستخدمون أداء نموذجي لاستفساراتهم فقط
- يمكن إخفاء الأداء الضعيف لشرائح البيانات بواسطة مقاييس المستوى الأعلى
- نموذج العدل مهم
- غالبًا ما تكون المجموعات الفرعية الرئيسية للمستخدمين أو البيانات مهمة جدًا ، وقد تكون صغيرة
- الأداء في الظروف الحرجة ولكن غير العادية
- الأداء للجماهير الرئيسية مثل المؤثرين
- إذا كنت تستبدل نموذجًا قيد الإنتاج حاليًا ، فتأكد أولاً من أن النموذج الجديد أفضل
عناصر
- المقيم يقوم بتحليل عميق لنتائج التدريب.
في محرر ملف Jupyter lab:
في pipeline
/ pipeline.py
، ابحث عن السطر الذي يُلحق المُقيِّم بخط الأنابيب وأزل التعليق عنه:
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
عناصر
- ينشر Pusher النموذج إلى بنية تحتية تخدم.
في محرر ملف Jupyter lab:
في 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 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 lab:
انقر نقرًا مزدوجًا لفتح pipeline.py
. اكتب تعليقًا على CsvExampleGen
وأزل التعليق عن السطر الذي يُنشئ مثيلًا من BigQueryExampleGen
. تحتاج أيضًا إلى إلغاء التعليق على وسيطة query
الخاصة بوظيفة create_pipeline
.
نحتاج إلى تحديد مشروع GCP الذي يجب استخدامه في BigQuery ، ويتم ذلك عن طريق تعيين --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 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
. قم بإلغاء تعريف 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 في 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
. قم بإلغاء تعريف 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_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}
يمكنك العثور على وظائف التدريب الخاصة بك في Cloud AI Platform Jobs . إذا اكتمل خط الأنابيب الخاص بك بنجاح ، يمكنك العثور على النموذج الخاص بك في Cloud AI Platform Models .
14. استخدم بياناتك الخاصة
في هذا البرنامج التعليمي ، قمت بإنشاء خط أنابيب لنموذج باستخدام مجموعة بيانات Chicago Taxi. حاول الآن وضع البيانات الخاصة بك في خط الأنابيب. يمكن تخزين بياناتك في أي مكان يمكن لخط الأنابيب الوصول إليه ، بما في ذلك ملفات Google Cloud Storage أو BigQuery أو CSV.
تحتاج إلى تعديل تعريف خط الأنابيب ليلائم بياناتك.
إذا كانت بياناتك مخزنة في ملفات
- قم بتعديل
DATA_PATH
فيkubeflow_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