השב / י לאירוע TensorFlow Everywhere המקומי שלך היום!
דף זה תורגם על ידי Cloud Translation API.
Switch to English

TFX בצינורות פלטפורמת AI ענן

מבוא

מדריך זה נועד להציג צינורות TensorFlow מורחבים (TFX) ו- Cloud AI Platform, ולעזור לך ללמוד ליצור צינורות למידת מכונה משלך ב- Google Cloud. הוא מציג שילוב עם TFX, צינורות פלטפורמת AI ו- Kubeflow, כמו גם אינטראקציה עם TFX במחברות Jupyter.

בסוף מדריך זה, תיצור ותפעיל צינור ML, המתארח ב- Google Cloud. תוכל לדמיין את התוצאות של כל ריצה, ולהציג את שושלת החפצים שנוצרו.

תוכלו לעקוב אחר תהליך פיתוח טיפוסי של ML, החל מבדיקת מערך הנתונים וכלה בצינור עבודה מלא. לאורך הדרך תחקור דרכים לאיתור באגים ולעדכן את הצינור שלך ולמדוד ביצועים.

מערך נתונים למוניות שיקגו

מוֹנִיתמונית בשיקגו

אתה משתמש במערך הנסיעות של מוניות שהוציאה העיר שיקגו.

תוכל לקרוא עוד על מערך הנתונים ב- Google BigQuery . חקור את מערך הנתונים המלא בממשק המשתמש של BigQuery .

יעד מודל - סיווג בינארי

האם הלקוח יתן טיפ או יותר מ -20%?

1. הקים פרויקט של Google Cloud

1. א הגדר את הסביבה שלך ב- Google Cloud

כדי להתחיל, אתה זקוק לחשבון Google Cloud. אם כבר יש לך אחד, דלג קדימה ליצירת פרויקט חדש .

  1. עבור אל מסוף הענן של גוגל .

  2. מסכים לתנאים וההגבלות של Google Cloud

  3. אם תרצה להתחיל עם חשבון ניסיון בחינם, לחץ על נסה בחינם (או התחל בחינם ).

    1. בחר את המדינה שלך.

    2. מסכים לתנאי השירות.

    3. הזן פרטי חיוב.

      לא תחויב בשלב זה. אם אין לך פרויקטים אחרים של Google Cloud, תוכל להשלים את המדריך הזה מבלי לחרוג ממגבלות ה- Google Free Free Tier , הכוללות מקסימום 8 ליבות הפועלות בו זמנית.

1. ב צור פרויקט חדש.

  1. מלוח המחוונים הראשי של Google Cloud , לחץ על התפריט הנפתח של הפרויקט לצד כותרת Google Cloud Platform ובחר פרויקט חדש .
  2. תן לפרויקט שלך שם והזן פרטי פרויקט אחרים
  3. לאחר שיצרת פרויקט, בחר בו מהתפריט הנפתח.

2. הגדר ופרוס צינור AI לפלטפורמה באשכול Kubernetes חדש

  1. עבור לדף אשכולות צינורות AI לפלטפורמה .

    תחת תפריט הניווט הראשי: ≡> פלטפורמת AI> צינורות

  2. לחץ על + מופע חדש כדי ליצור אשכול חדש.

  3. בדף הסקירה הכללית של צינורות Kubeflow , לחץ על הגדר .

    יתכן שתצטרך לחכות מספר דקות לפני שתמשיך הלאה, בזמן שממשקי ה- API של Kubernetes Engine מופעלים עבורך.

  4. בדף פריסת צינורות קובפלו :

    1. בחר אזור (או "אזור") לאשכול שלך.

    2. חשוב סמן את התיבה שכותרתה אפשר גישה לממשקי ה- API הבאים בענן . (זה נדרש כדי שאשכול זה יוכל לגשת לחלקים האחרים של הפרויקט שלך. אם אתה מתגעגע לשלב זה, תיקון מאוחר יותר הוא מעט מסובך.)

    3. לחץ על צור והמתן מספר דקות עד שנוצר האשכול.

    4. בחר מרחב שמות ושם מופע (השימוש בברירות המחדל הוא בסדר). אינך צריך לבדוק השתמש באחסון מנוהל .

    5. לחץ על פרוס , והמתן מספר רגעים עד לפריסת הצינור. על ידי פריסת צינורות Kubeflow אתה מקבל את תנאי השירות.

3. הגדר מופע מחברת פלטפורמת ענן AI.

  1. עבור לדף המחברות של פלטפורמת AI .

    תחת תפריט הניווט הראשי: ≡ -> פלטפורמת AI -> מחברות

  2. אם תתבקש, הפעל את ה- API של Compute Engine.

  3. צור מופע חדש עם התקנת TensorFlow 2.1 (ומעלה).

    מופע חדש -> TensorFlow 2.1 -> ללא GPU

    כדי להישאר בגבולות Free Tier, אל תקבל את הגדרות ברירת המחדל כאן. עליך להפחית את מספר ה- vCPU הזמינים למופע זה מ -4 ל -2:

    1. בחר התאמה אישית בתחתית הטופס מופע מחברת חדשה .
    2. בחר תצורת מכונה עם 1 או 2 vCPU.

4. הפעל את המחברת תחילת העבודה

  1. עבור לדף אשכולות צינורות AI לפלטפורמה .

    תחת תפריט הניווט הראשי: ≡ -> פלטפורמת AI -> צינורות

  2. בשורה עבור האשכול בו אתה משתמש במדריך זה, לחץ על פתח לוח מחוונים של צינורות .

    לוח מחוונים פתוח

  3. בדף תחילת העבודה לחץ על פתח מחברת TF 2.1 .

  4. בחר במופע המחברת שבו אתה משתמש עבור הדרכה זו והמשך .

    מחברת בחר

5. המשך לעבוד במחברת

להתקין

מחברת ההתחלה מתחילה בהתקנת צינורות TFX ו- Kubeflow (KFP) לתוך ה- VM שעוברת עליו Jupyter Lab, יחד עם מודול Skaffold :

התקן את tf ו- kfp

לאחר מכן הוא מגדיר את ה- PATH לכלול ספריה בינארית של Python למשתמש וספרייה המכילה skaffold :

קבע מסלול

לאחר מכן הוא בודק איזו גרסת TFX מותקנת, מבצע ייבוא ​​ומגדיר ומדפיס את מזהה הפרויקט:

לבדוק גרסת פיתון ולייבא

התחבר לשירותי Google Cloud שלך

תצורת הצינור זקוקה למזהה הפרויקט שלך, אותו תוכל לעבור דרך המחברת ולהגדיר כמשתנה סביבתי.

# 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 שלך.

ניתן למצוא זאת מכתובת האתר של לוח המחוונים של הצינורות. עבור אל לוח המחוונים של צינור Kubeflow והסתכל בכתובת ה- 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, אתה אמור לראות דפדפן קבצים. צריכה להיות ספרייה עם שם הצינור שלך ( my_pipeline ). פתח אותו והצג את הקבצים. (תוכל לפתוח אותם ולערוך גם מסביבת המחשב הנייד.)

# You can also list the files from the shell
 ls

הפקודה tfx template copy לעיל יצרה פיגום בסיסי של קבצים הבונים צינור. אלה כוללים קודי מקור של פייתון, נתוני דוגמה ומחברות Jupyter. אלה נועדו לדוגמא ספציפית זו. עבור הצינורות שלך יהיו אלה הקבצים התומכים הדרושים לצינור שלך.

להלן תיאור קצר של קבצי הפייתון.

  • pipeline - מדריך זה מכיל את הגדרת הצינור
    • configs.py - מגדיר קבועים נפוצים עבור רצי צנרת
    • pipeline.py - מגדיר רכיבי TFX וצינור
  • models - מדריך זה מכיל הגדרות דגם ML.
    • features.py features_test.py - מגדיר תכונות עבור הדגם
    • preprocessing.py / preprocessing_test.py - מגדיר עבודות עיבוד מראש באמצעות tf::Transform
    • estimator - מדריך זה מכיל מודל מבוסס Estimator.
      • constants.py - מגדיר קבועים של המודל
      • model.py / model_test.py - מגדיר מודל DNN באמצעות אומדן TF
    • keras - ספריה זו מכילה מודל מבוסס Keras.
      • constants.py - מגדיר קבועים של המודל
      • model.py / model_test.py - מגדיר מודל DNN באמצעות Keras
  • beam_dag_runner.py / kubeflow_dag_runner.py - הגדר רצים לכל מנוע תזמורתי

7. הפעל את צינור ה- TFX הראשון שלך ב- Kubeflow

המחברת תפעיל את הצינור באמצעות הפקודה CLI של tfx run .

התחבר לאחסון

צינורות פועלים יוצרים חפצים שיש לאחסן ב- 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.

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

אתה יכול להציג את הצינור שלך מלוח המחוונים של צינורות Kubeflow.

8. אמת את הנתונים שלך

המשימה הראשונה בכל מדע נתונים או פרויקט ML היא להבין ולנקות את הנתונים.

  • הבן את סוגי הנתונים עבור כל תכונה
  • חפש חריגות וערכים חסרים
  • הבן את ההפצות של כל תכונה

רכיבים

רכיבי נתוניםרכיבי נתונים

  • דוגמה גן בולע ומפצל את מערך הקלט.
  • 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 .

למידע נוסף על השימוש ב- TFDV לחקירה ולאימות של מערך נתונים, עיין בדוגמאות באתר tensorflow.org .

9. הנדסת תכונות

אתה יכול להגדיל את איכות הניבוי של הנתונים שלך ו / או להקטין מימדיות באמצעות הנדסת תכונות.

  • צלבים של תכונות
  • אוצר מילים
  • טבילות
  • PCA
  • קידוד קטגורי

אחד היתרונות בשימוש ב- TFX הוא שתכתוב את קוד הטרנספורמציה שלך פעם אחת, והתמורות המתקבלות יהיו עקביות בין אימון להגשה.

רכיבים

שינוי צורה

  • Transform מבצע הנדסת תכונות במערך הנתונים.

בעורך קבצי מעבדת Jupyter:

ב- pipeline / pipeline.py , מצא ובטל את ההערה על הקו המוסיף את Transform לצינור.

# 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 , מצא ובטל את ההערה לקו המצרף את Evalorator לצינור:

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. הגשת המודל

אם הדגם החדש מוכן, עשה זאת כך.

  • פושר פורס SavedModels למיקומים ידועים

יעדי הפריסה מקבלים דגמים חדשים ממקומות ידועים

  • הגשת TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • רכזת TensorFlow

רכיבים

  • פושר פורס את המודל לתשתית משרתת.

בעורך קבצי מעבדת Jupyter:

ב- pipeline / pipeline.py , מצא ובטל את התגובה של הקו המצרף את Pusher לצינור:

# components.append(pusher)

בדוק את תפוקות הצינור

עבור Kubeflow Orchestrator, בקר במרכז השליטה של ​​KFP ומצא פלט צינורות בדף להפעלת הצינור שלך. לחץ על הכרטיסייה "ניסויים" בצד ימין ועל "כל הריצות" בדף הניסויים. אתה אמור להיות מסוגל למצוא את הריצה עם שם הצינור שלך.

יעדי פריסה זמינים

עכשיו אימנתם ואמתתם את המודל שלכם, והמודל שלכם מוכן כעת לייצור. כעת תוכל לפרוס את המודל שלך לכל אחת ממטרות הפריסה של TensorFlow, כולל:

  • הגשת TensorFlow , לצורך הגשת המודל שלך בשרת או בחוות שרתים ועיבוד בקשות הסקת REST ו / או gRPC.
  • TensorFlow Lite , לכלול את המודל שלך ביישום מובייל אנדרואיד או iOS, או ביישום Raspberry Pi, IoT או מיקרו-בקר.
  • TensorFlow.js , להפעלת המודל שלך בדפדפן אינטרנט או ביישום Node.JS.

דוגמאות מתקדמות יותר

הדוגמה המוצגת לעיל נועדה רק להתחיל. להלן מספר דוגמאות לשילוב עם שירותי ענן אחרים.

שיקולי משאבים של Kubeflow Pipelines

בהתאם לדרישות עומס העבודה שלך, תצורת ברירת המחדל לפריסת צינורות ה- Kubeflow שלך עשויה לענות על הצרכים שלך או לא. באפשרותך להתאים אישית את תצורות המשאבים שלך באמצעות pipeline_operator_funcs KubeflowDagRunnerConfig ל- KubeflowDagRunnerConfig .

pipeline_operator_funcs היא רשימה של פריטי OpFunc , אשר הופכת את כל מופעי ContainerOp שנוצרו במפרט הצינור של KFP KubeflowDagRunner מ- 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

BigQuery הוא מחסן נתוני ענן חסר שרת, מדרגי מאוד וחסכוני. ניתן להשתמש ב- BigQuery כמקור לדוגמאות הדרכה ב- TFX. בשלב זה נוסיף לצינור BigQueryExampleGen .

בעורך קבצי מעבדת Jupyter:

לחץ פעמיים כדי לפתוח pipeline.py . הוסף הערה על CsvExampleGen את CsvExampleGen של השורה שיוצרת מופע של BigQueryExampleGen . אתה גם צריך לבטל את ההערה על ארגומנט query של הפונקציה create_pipeline .

עלינו לציין באיזה פרויקט GCP להשתמש עבור BigQuery, וזה נעשה על ידי הגדרת --project ב- beam_pipeline_args בעת יצירת צינור.

לחץ פעמיים כדי לפתוח configs.py . בטל את ההגדרה של BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS ו- BIG_QUERY_QUERY . עליך להחליף את מזהה הפרויקט ואת ערך האזור בקובץ זה בערכים הנכונים עבור פרויקט ה- GCP שלך.

שנה ספריה ברמה אחת למעלה. לחץ על שם הספרייה שמעל לרשימת הקבצים. שם הספרייה הוא שם הצינור שהוא my_pipeline אם לא שינית את שם הצינור.

לחץ פעמיים כדי לפתוח kubeflow_dag_runner.py . beam_pipeline_args את 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 משתמשים ב- Apache Beam כדי ליישם צינורות מקבילים לנתונים, וזה אומר שתוכלו להפיץ עומסי עבודה של עיבוד נתונים באמצעות Google Cloud Dataflow . בשלב זה, נגדיר את התזמורת Kubeflow שתשתמש ב- Dataflow כ- Back-end של עיבוד הנתונים עבור 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_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 ב- Cloud Console .

נסה אימון וחיזוי פלטפורמת ענן AI

TFX משתף פעולה עם כמה שירותי GCP מנוהלים, כמו פלטפורמת Cloud AI לאימון וחיזוי . אתה יכול להגדיר את רכיב ה- Trainer שלך לשימוש ב- Cloud AI Training Training, שירות מנוהל להכשרת דגמי ML. יתר על כן, כאשר המודל שלך בנוי ומוכן להצגה, תוכל לדחוף את המודל שלך לחיזוי פלטפורמת Cloud AI לצורך הגשה. בשלב זה, נגדיר את רכיב ה- Trainer ו- Pusher שלנו לשימוש בשירותי פלטפורמת Cloud AI.

לפני עריכת קבצים, ייתכן שיהיה עליך להפעיל תחילה ממשק API להכשרה ולחיזוי של AI .

לחץ פעמיים על pipeline כדי לשנות את הספרייה ולחץ פעמיים כדי לפתוח configs.py . בטל את ההגדרה של GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS ו- GCP_AI_PLATFORM_SERVING_ARGS . נשתמש בתמונת המיכל המותאמת אישית שלנו כדי להכשיר מודל masterConfig.imageUri פלטפורמת ענן AI, לכן עלינו להגדיר את masterConfig.imageUri ב- GCP_AI_PLATFORM_TRAINING_ARGS לאותו ערך כמו CUSTOM_TFX_IMAGE לעיל.

שנה ספריה ברמה אחת למעלה ולחץ פעמיים כדי לפתוח kubeflow_dag_runner.py . ai_platform_training_args ai_platform_serving_args 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 . אם הצינור שלך הושלם בהצלחה, תוכל למצוא את המודל שלך במודלים של פלטפורמת ענן AI .

14. השתמש בנתונים שלך

במדריך זה, ביצעת צינור עבור מודל באמצעות מערך הנתונים של Taxi Taxi. עכשיו נסה להכניס את הנתונים שלך לצינור. ניתן לאחסן את הנתונים שלך בכל מקום בו הצינור יכול לגשת אליו, כולל קבצי אחסון בענן של Google, BigQuery או CSV.

עליך לשנות את הגדרת הצינור כדי להתאים לנתונים שלך.

אם הנתונים שלך מאוחסנים בקבצים

  1. שנה את DATA_PATH ב- kubeflow_dag_runner.py , וציין את המיקום.

אם הנתונים שלך מאוחסנים ב- BigQuery

  1. שנה את BIG_QUERY_QUERY ב- BIG_QUERY_QUERY להצהרת השאילתה שלך.
  2. הוסף תכונות ב- models / features.py .
  3. שנה models / preprocessing.py כדי להפוך נתוני קלט לאימון .
  4. שינוי models / keras / model.py ו models / keras / constants.py כדי לתאר מודל ML שלך .

למידע נוסף על מאמן

ראה מדריך רכיבי Trainer לקבלת פרטים נוספים על צינורות הדרכה.

ניקיון

כדי לנקות את כל משאבי Google Cloud המשמשים בפרויקט זה, אתה יכול למחוק את פרויקט Google Cloud ששימש עבור ההדרכה.

לחלופין, תוכלו לנקות משאבים בודדים על ידי ביקור בכל קונסולות: - אחסון בענן של גוגל - רישום המכולות של גוגל - מנוע Google Kubernetes.