יצירת אפליקציה לניתוח נתוני תפוסה באמצעות תחזיות ב-BigQuery

‫Gemini Enterprise Agent Platform Vision היא פלטפורמה מבוססת-AI שמאפשרת לכם להטמיע, לנתח ולאחסן נתונים של סרטונים. ‫Gemini Enterprise Agent Platform Vision מאפשרת לכם ליצור ולפרוס אפליקציות AI. אתם יכולים לבנות פתרונות ראייה מקצה לקצה באמצעות Gemini Enterprise Agent Platform Vision על ידי מינוף השילוב של Gemini Enterprise Agent Platform Vision עם רכיבי מוצר אחרים.

כדי להתחיל להטמיע פתרונות באמצעות פלטפורמת Vision של Gemini Enterprise Agent Platform, כדאי לעיין במושגים וברכיבים הבאים של פלטפורמת Vision של Agent Platform:

  • שידורים: מייצגים שכבת סטרימינג של סרטון מהפתרון שלכם. מקור השידור יכול להיות וידאו בשידור חי (לדוגמה, מצלמת IP) או קובץ וידאו (לדוגמה, קובץ MP4).

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

  • יעד הפלט של האפליקציה: שליחת נתונים מנותחים ליעד אחסון (מאגר המדיה של Gemini Enterprise Agent Platform Vision או BigQuery) או קבלת נתונים בזמן אמת. אחסון ב-Media Warehouse של Gemini Enterprise Agent Platform Vision מאפשר לכם לחפש פלט של ניתוח ומטא-נתונים ממעבדי ה-AI שנעשה בהם שימוש בנתונים מהזרמים שהועברו. אחסון ב-BigQuery מאפשר לכם להשתמש ביכולות הניתוח הלא מקוונות של המוצר. אם אתם מקבלים את הפלט של האפליקציה ישירות, אתם יכולים להשתמש בתובנות כדי לקבל החלטות עסקיות באופן מיידי. מידע נוסף מופיע במאמר סקירה כללית: חיבור פלט של אפליקציה ליעד נתונים.

מטרות

במדריך הזה מוסבר איך:

  • יוצרים טבלה ומערך נתונים ב-BigQuery.
  • איך יוצרים אפליקציית ניתוח נתונים של תפוסת חדרים באמצעות Gemini Enterprise Agent Platform שמתחברת ל-BigQuery.
  • יוצרים מכונה וירטואלית ב-Compute Engine ומגדירים את הסביבה שלה.
  • מבצעים סטרימינג של הסרטון ממופע ה-VM לאפליקציה.
  • שימוש בפלט מאוחסן של אפליקציה כדי ליצור מודל חיזוי באמצעות BigQuery ML.

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

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

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

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

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery, Compute Engine and Vision AI APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), BigQuery > BigQuery Data Owner, Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  6. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  7. התקינו את ה-CLI של Google Cloud.

  8. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  9. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  11. Verify that billing is enabled for your Google Cloud project.

  12. Enable the BigQuery, Compute Engine and Vision AI APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  13. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), BigQuery > BigQuery Data Owner, Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  14. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  15. התקינו את ה-CLI של Google Cloud.

  16. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  17. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init

התפקיד נדרש רק אם מעתיקים קובץ סרטון לאימון המודל מקטגוריה של Cloud Storage.

הגדרת BigQuery לקבלת נתונים

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

יצירת מערך נתונים

לפני שיוצרים טבלה ב-BigQuery, צריך ליצור קודם מערך נתונים שיקבל את המידע המנותח מהאפליקציה.

המסוף

  1. פותחים את הדף BigQuery במסוף Google Cloud .

    לדף BigQuery

  2. בחלונית Explorer, בוחרים את הפרויקט שבו רוצים ליצור את מערך הנתונים.

  3. מרחיבים את האפשרות פעולות ולוחצים על יצירת מערך נתונים.

  4. בדף Create dataset:

    • בשדה Dataset ID (מזהה מערך הנתונים), מזינים occupancy_dataset.
    • בקטע מיקום הנתונים, בוחרים מיקום גיאוגרפי לקבוצת הנתונים. אי אפשר לשנות את המיקום אחרי שיוצרים את מערך הנתונים.

    • בקטע תפוגה של טבלה שמוגדרת כברירת מחדל, בוחרים באחת מהאפשרויות הבאות:

      • אף פעם: (ברירת מחדל) טבלאות שנוצרו במערך הנתונים לא נמחקות אוטומטית. צריך למחוק אותם באופן ידני.
      • Number of days after table creation: הערך הזה קובע מתי טבלה חדשה שנוצרה במערך הנתונים תימחק. הערך הזה יחול אם לא תגדירו תאריך תפוגה לטבלה כשיוצרים אותה.

    • לוחצים על יצירת מערך נתונים.

יצירת טבלה ב-BigQuery

המסוף

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה לדף BigQuery

  2. בחלונית Explorer מרחיבים את הפרויקט ואז בוחרים את מערך הנתונים occupancy_dataset.
  3. בקטע פרטי מערך הנתונים, לוחצים על יצירת טבלה.
  4. בחלונית Create table, מציינים את הפרטים הבאים:
    1. בקטע מקור, בוחרים באפשרות טבלה ריקה מהרשימה יצירת טבלה מ.
    2. בקטע יעד, מציינים את הפרטים הבאים:
      1. מוודאים שבשדה Dataset (מערך נתונים) מצוין occupancy_dataset.
      2. בשדה Table, מזינים occupancy_dataset_table.
      3. מוודאים שהשדה Table type (סוג הטבלה) מוגדר ל-Native table (טבלה מקורית).
    3. בקטע Schema (סכימה), מזינים את ההגדרה של הסכימה. אפשר להזין את פרטי הסכימה באופן ידני. כדי לעשות את זה:
      • לוחצים על Edit as text ומדביקים את סכימת מערך ה-JSON הבאה. כשמשתמשים במערך JSON, יוצרים את הסכימה באותו תהליך שבו יוצרים קובץ סכימת JSON.
        [
            {
              "name": "ingestion_time",
              "type": "TIMESTAMP",
              "mode": "REQUIRED"
            },
            {
              "name": "application",
              "type": "STRING",
              "mode": "REQUIRED"
            },
            {
              "name": "instance",
              "type": "STRING",
              "mode": "REQUIRED"
            },
            {
              "name": "node",
              "type": "STRING",
              "mode": "REQUIRED"
            },
            {
              "name": "annotation",
              "type": "STRING"
            }
        ]
    4. לוחצים על יצירת טבלה.

יצירת אפליקציה לספירת תפוסה

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

יצירת אפליקציה ריקה

כדי לאכלס את גרף האפליקציות, צריך קודם ליצור אפליקציה ריקה.

המסוף

יוצרים אפליקציה במסוף Google Cloud .

  1. פותחים את הכרטיסייה Applications (אפליקציות) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. לוחצים על הלחצן יצירה.

  3. מזינים את השם occupancy-bq-app לאפליקציה ובוחרים את האזור.

  4. לוחצים על יצירה.

הוספת צמתים של רכיבי אפליקציה

אחרי שיוצרים את האפליקציה הריקה, אפשר להוסיף את שלושת הצמתים לגרף האפליקציה:

  1. צומת קליטה: משאב הנתונים שקולט נתונים שנשלחים ממכונה וירטואלית ב-Compute Engine שאתם יוצרים.
  2. צומת עיבוד: מודל ניתוח הנתונים של תפוסת המקום שפועל על נתונים שהועברו.
  3. צומת BigQuery: צומת המחבר שמאפשר לאפליקציה שלכם לאחסן מטא-נתונים בטבלת BigQuery.

המסוף

מוסיפים צמתי רכיבים לאפליקציה במסוף.

  1. פותחים את הכרטיסייה Applications (אפליקציות) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. לצד שם occupancy-bq-app האפליקציה ברשימה, בוחרים באפשרות הצגת האפליקציה. תועברו לתצוגה הגרפית של צינור העיבוד.

הוספה של צומת להעברת נתונים

  1. כדי להוסיף צומת של זרם קלט, בוחרים באפשרות Streams (זרמים) בקטע Connectors (מחברים) בתפריט הצדדי.

  2. בקטע מקור בתפריט סטרימינג שנפתח, לוחצים על הוספת סטרימינג.

  3. בתפריט Add streams (הוספת סטרימינג), בוחרים באפשרות Register new streams (רישום סטרימינג חדש) ומוסיפים את occupancy-bq-stream כשם הסטרימינג.

  4. כדי להוסיף את הזרם לגרף האפליקציות, לוחצים על הוספת זרמים.

הוספה של צומת לעיבוד נתונים

  1. כדי להוסיף את צומת המודל של ספירת התפוסה, בוחרים באפשרות ניתוח תפוסה בקטע מודלים ייעודיים בתפריט הצד.

  2. משאירים את הבחירות שמוגדרות כברירת מחדל: אנשים וכלי רכב.

הוספת צומת BigQuery

  1. כדי להוסיף את צומת יעד הפלט (אחסון), בוחרים באפשרות BigQuery בקטע מחברים בתפריט הצד.

  2. בתפריט BigQuery, מחפשים את occupancy_dataset_table ובוחרים את הטבלה.

  3. בקטע Store metadata from:, בוחרים באפשרויות Streams ו-Occupancy analytics.

פריסת האפליקציה לשימוש

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

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. לצד השם של occupancy-bq-app האפליקציה ברשימה, בוחרים באפשרות הצגת האפליקציה.

  3. בדף של הכלי ליצירת גרף של אפליקציות, לוחצים על הלחצן Deploy.

  4. בתיבת הדו-שיח לאישור שמופיעה, לוחצים על פריסה.

    יכול להיות שיחלפו כמה דקות עד שהפריסה תושלם. אחרי שהפריסה מסתיימת, מופיעים סימני וי ירוקים לצד הצמתים.

הגדרת מחשב מרוחק לסטרימינג של וידאו

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

במדריך הזה יוצרים מכונה וירטואלית ב-Compute Engine שמארחת סרטון, ושולחים את נתוני הסרטון בסטרימינג מהמכונה הווירטואלית.

יצירת מכונת וירטואלית של Linux

השלב הראשון בשליחת סרטון ממכונת VM ב-Compute Engine הוא יצירת מכונת ה-VM.

המסוף

  1. נכנסים לדף VM instances במסוף.

    כניסה לדף VM instances

  2. בוחרים פרויקט ולוחצים על המשך.

  3. לוחצים על Create instance.

  4. מציינים שם למכונה הווירטואלית. מידע נוסף זמין במאמר מוסכמות למתן שמות למשאבים.

  5. אופציונלי: משנים את האזור של המכונה הווירטואלית. מערכת Compute Engine מבצעת רנדומיזציה של רשימת האזורים בכל אזור כדי לעודד שימוש בכמה אזורים.

  6. מאשרים את שאר אפשרויות ברירת המחדל. מידע נוסף על האפשרויות האלה זמין במאמר יצירה והפעלה של מכונה וירטואלית.

  7. כדי ליצור את המכונה הווירטואלית ולהפעיל אותה, לוחצים על Create.

הגדרת סביבת המכונה הווירטואלית

אחרי שהמכונה הווירטואלית מופעלת, אפשר להשתמש במסוף כדי ליצור חיבור SSH בדפדפן. אחרי שיוצרים את החיבור הזה, אפשר להוריד את כלי שורת הפקודה vaictl כדי להטמיע סרטונים באפליקציה.

המסוף

יצירת חיבור SSH למכונה הווירטואלית

  1. נכנסים לדף VM instances במסוף.

    כניסה לדף VM instances

  2. בקטע Connect בשורה של המכונה שיצרתם, לוחצים על SSH. חיבור SSH ייפתח בחלון דפדפן חדש.

    אפשרות ה-SSH בממשק המשתמש

הורדת כלי שורת הפקודה vaictl

  1. בחלון SSH-in-browser, מורידים את כלי שורת הפקודה של Gemini Enterprise Agent Platform Vision ‏(vaictl) באמצעות הפקודה הבאה:

    wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
    
  2. מריצים את הפקודה הבאה כדי להתקין את הכלי לשורת הפקודה:

    sudo apt install ./visionai_0.0-5_amd64.deb
    
  3. כדי לבדוק את ההתקנה, מריצים את הפקודה הבאה:

    vaictl --help
    

הוספת קובץ וידאו לאפליקציה

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

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

SSH בדפדפן

העתקת סרטון לאימון המודל למכונה הווירטואלית

  1. בחלון SSH-in-browser (SSH בדפדפן) של מכונת ה-VM, מעתיקים סרטון לדוגמה באמצעות הפקודה gcloud storage cp הבאה. מחליפים את המשתנה הבא:
    • SOURCE: המיקום של קובץ הווידאו לשימוש. אתם יכולים להשתמש בקובץ וידאו משלכם (לדוגמה, gs://BUCKET_NAME/FILENAME.mp4) או באחד מסרטוני הדוגמה:
      • gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 (סרטון עם אנשים וכלי רכב, מקור הסרטון)
      • gs://cloud-samples-data/vertex-ai-vision/highway_vehicles.mp4 (סרטון עם כלי רכב בלבד, מקור הסרטון)
    gcloud storage cp SOURCE .

הזרמת וידאו ממכונה וירטואלית והעברת נתונים לאפליקציה

  1. כדי לשלוח את קובץ הווידאו המקומי הזה לזרם הקלט של האפליקציה, משתמשים בפקודה הבאה. צריך להשתמש בתחליפי המשתנים הבאים:
    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • LOCATION_ID: מזהה המיקום. לדוגמה, us-central1. מידע נוסף
    • LOCAL_FILE.EXT: שם הקובץ של קובץ וידאו מקומי. לדוגמה, my-video.mp4.
    • הדגל --loop: אופציונלי. הנתונים בקובץ חוזרים על עצמם כדי לדמות סטרימינג.

    הפקודה הזו משדרת קובץ וידאו לשידור. אם משתמשים בדגל --loop, הסרטון חוזר על עצמו בשידור עד שמפסיקים את הפקודה:

    vaictl -p PROJECT_ID \
        -l LOCATION_ID \
        -c application-cluster-0 \
        --service-endpoint visionai.googleapis.com \
    send video-file to streams 'occupancy-bq-stream' --file-path LOCAL_FILE.EXT --loop

יכול להיות שיחלפו כ-100 שניות בין תחילת פעולת ההטמעה vaictl לבין הופעת הסרטון בלוח הבקרה.

אחרי שההטמעה של השידור תהיה זמינה, תוכלו לראות את פיד הווידאו בכרטיסייה שידורים בלוח הבקרה של Gemini Enterprise Agent Platform Vision. כדי לראות את הפיד, בוחרים בשידור occupancy-bq-stream.

מעבר לכרטיסייה 'סטרימינג'

פיתוח מודל חיזוי באמצעות BigQuery ML

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

אופציונלי: הרצת שאילתת תפוסה

אפשר להריץ שאילתה פשוטה כדי לראות את הנתונים שהאפליקציה יצרה ושנשמרו בטבלה.

המסוף

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. לוחצים על הרחבה לצד occupancy_dataset ובוחרים באפשרות occupancy_dataset_table.

  3. בתצוגת הפרטים של הטבלה, לוחצים על Compose new query.

    כתיבת שאילתה חדשה

  4. מזינים את שאילתת ה-SQL הסטנדרטית הבאה של Google באזור הטקסט של עורך השאילתות:

    SELECT
     *
    FROM (
     SELECT
       TIMESTAMP_TRUNC(PARSE_TIMESTAMP('"%Y-%m-%dT%H:%M:%E*SZ"', JSON_QUERY(annotation,
             "$.currentTime")), MINUTE) currentTime,
       CAST(JSON_QUERY(annotation,
           '$.stats.fullFrameCount[0].count') AS INT64) AS count,
       JSON_QUERY(annotation,
         '$.stats.fullFrameCount[0].entity.labelString') AS type
     FROM
       `PROJECT_ID.occupancy_dataset.occupancy_dataset_table` )
    WHERE
     count IS NOT NULL
  5. אופציונלי: כדי לשנות את המיקום של עיבוד הנתונים, לוחצים על עריכה > הגדרות שאילתה. בקטע מיקום העיבוד, לוחצים על בחירה אוטומטית ובוחרים את המיקום של הנתונים. לסיום, לוחצים על שמירה כדי לעדכן את הגדרות השאילתה.

  6. לוחצים על Run.

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

הפעלת השאילתה הזו יוצרת טבלה עם מידע על הזמן והספירה של האנשים שנמצאים בסרטון.

currentTime ספירה סוג
‫2022-08-10 16:17:00 UTC 2 ‫"Person" (אדם)
‫2022-08-10 16:17:00 UTC 2 ‫"Person" (אדם)
‫2022-08-10 16:17:00 UTC 4 ‫"Person" (אדם)
‫2022-08-10 16:17:00 UTC 1 ‫"Person" (אדם)
‫2022-08-10 16:17:00 UTC 5 ‫"Person" (אדם)
‫2022-08-10 16:17:00 UTC 2 ‫"Person" (אדם)

יצירת תצוגה לצורך אימון

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

אפשר ליצור תצוגה על ידי כתיבת שאילתת SQL המשמשת להגדרת הנתונים הנגישים לתצוגה. שאילתת ה-SQL צריכה לכלול הצהרה של SELECT. מידע נוסף על תצוגות ב-BigQuery זמין במאמר מבוא לתצוגות.

כדי ליצור תצוגת טבלה של נתוני ההדרכה:

המסוף

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. לוחצים על הרחבה לצד occupancy_dataset ובוחרים באפשרות occupancy_dataset_table.

  3. בתצוגת הפרטים של הטבלה, לוחצים על Compose new query.

    כתיבת שאילתה חדשה

  4. מזינים את שאילתת ה-SQL הסטנדרטית הבאה של Google באזור הטקסט של עורך השאילתות:

    CREATE VIEW `PROJECT_ID.occupancy_dataset.forecast_training_data` AS (
      WITH
        raw_counts AS (
        SELECT
          *
        FROM (
          SELECT
            TIMESTAMP_TRUNC(
              PARSE_TIMESTAMP('"%Y-%m-%dT%H:%M:%E*SZ"',
                              JSON_QUERY(annotation,
                                          "$.currentTime")),
                            MINUTE) AS currentTime,
            CAST(JSON_QUERY(annotation,
                '$.stats.fullFrameCount[0].count') AS INT64) AS count,
            JSON_QUERY(annotation,
              '$.stats.fullFrameCount[0].entity.labelString') AS type
          FROM
            `PROJECT_ID.occupancy_dataset.occupancy_dataset_table` )
        WHERE
          count IS NOT NULL )
      SELECT
        currentTime,
        SUM(count) AS total_count,
        type
      FROM
        raw_counts
      GROUP BY
        currentTime, type)
  5. לוחצים על Run.

אופציונלי: הפעלת שאילתה בתצוגה

מריצים את השאילתה הבאה כדי לראות את התוצאות של נתוני האימון של התצוגה החדשה:

המסוף

  1. בתצוגת הפרטים של טבלת occupancy_dataset_table, לוחצים על יצירת שאילתה חדשה.

  2. מזינים את שאילתת ה-SQL הסטנדרטית הבאה של Google באזור הטקסט של עורך השאילתות:

    SELECT
     *
    FROM
      `PROJECT_ID.occupancy_dataset.forecast_training_data`
    ORDER BY
     currentTime, type
    LIMIT
     100
  3. לוחצים על Run.

התוצאה שמתקבלת מסודרת לפי זמן ונראית כך:

currentTime total_count סוג
‫2022-08-10 16:17:00 UTC 129 ‫"Person" (אדם)
‫2022-08-10 16:18:00 UTC 150 ‫"Person" (אדם)
‫2022-08-10 16:19:00 UTC 80 ‫"Person" (אדם)
‫2022-08-10 16:20:00 UTC 129 ‫"Person" (אדם)
2022-08-10 16:21:00 UTC 142 ‫"Person" (אדם)
2022-08-10 16:22:00 UTC 71 ‫"Person" (אדם)
2022-08-10 16:22:00 UTC 2 ‫"Vehicle" (רכב)

אימון מודל החיזוי באמצעות BigQuery ML

אחרי שיש לכם נתונים בתצוגה שישמשו כנתוני אימון, אתם יכולים לאמן את מודל התחזית באמצעות BigQuery ML.

המסוף

  1. בתצוגת הפרטים של טבלת occupancy_dataset_table, לוחצים על יצירת שאילתה חדשה.

  2. מזינים את שאילתת ה-SQL הסטנדרטית הבאה של Google באזור הטקסט של עורך השאילתות:

    CREATE OR REPLACE MODEL `PROJECT_ID.occupancy_dataset.occupancy_forecast_model`
      OPTIONS( MODEL_TYPE = "ARIMA_PLUS",
        TIME_SERIES_TIMESTAMP_COL = "currentTime",
        TIME_SERIES_DATA_COL = "total_count",
        TIME_SERIES_ID_COL = "type" ) AS
    SELECT
      *
    FROM
      `PROJECT_ID.occupancy_dataset.forecast_training_data`
  3. לוחצים על Run.

השלמת השאילתה נמשכת כמה דקות. אחרי שהאיטרציה הראשונה מסתיימת, המודל (occupancy_forecast_model) מופיע בחלונית הניווט. מכיוון שהשאילתה משתמשת בהצהרת CREATE MODEL כדי ליצור מודל, לא מוצגות תוצאות לשאילתה.

אתם יכולים לצפות במודל בזמן האימון שלו בכרטיסייה Model stats (נתוני המודל). הכרטיסייה מתעדכנת ברגע שהאיטרציה הראשונה מסתיימת. הנתונים הסטטיסטיים ממשיכים להתעדכן ככל שכל איטרציה מסתיימת.

קבלת חיזוי של תפוסה באמצעות BigQuery

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

השאילתה הבאה ML.FORECAST משתמשת בקלט של הפונקציה HORIZON כדי ליצור תחזית ל-60 הדקות הבאות.

המסוף

  1. בתצוגת הפרטים של טבלת occupancy_dataset_table, לוחצים על יצירת שאילתה חדשה.

  2. מזינים את שאילתת ה-SQL הסטנדרטית הבאה של Google באזור הטקסט של עורך השאילתות:

    SELECT
      *
    FROM
      ML.FORECAST(MODEL `PROJECT_ID.occupancy_dataset.occupancy_forecast_model`,
      STRUCT(60 AS HORIZON))
  3. לוחצים על Run.

המודל יוצר תחזיות ב-forecast_value עבור חותמות זמן עתידיות שבהן הערך של type הוא "Person". לדוגמה, ב-2022-08-12 בשעה 11:06:00, התחזית של המודל היא שיהיו בסך הכול בערך 15.26 אנשים.

סוג forecast_timestamp forecast_value standard_error confidence_level prediction_interval_lower_bound prediction_interval_upper_bound
‫"Person" (אדם) 2022-08-12 11:06:00 UTC 15.2621986941298 2.56470066 0.95 10.2444693 20.2799280
‫"Person" (אדם) 2022-08-12 11:07:00 UTC 13.235260043001354 3.19379743 0.95 6.98672921 19.4837908
‫"Person" (אדם) ‫2022-08-12 11:08:00 UTC 16.257331475128712 3.87581375 0.95 8.67446430 23.8401986
‫"Person" (אדם) 2022-08-12 11:09:00 UTC 31.432229611853742 4.24905293 0.95 23.1191356 39.7453236
‫"Person" (אדם) 2022-08-12 11:10:00 UTC 26.199214148193725 4.26157413 0.95 17.8616229 34.5368053
‫"Person" (אדם) 2022-08-12 11:11:00 UTC 26.211573546307324 4.27962512 0.95 17.8386663 34.5844807

הסרת המשאבים

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

מחיקת הפרויקט

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

מחיקת משאבים בודדים

מחיקת מכונה וירטואלית ב-Compute Engine

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. מסמנים את התיבה שלצד המופע שרוצים למחוק.
  3. כדי למחוק את המכונה, לוחצים על More actions ואז על Delete ופועלים לפי ההוראות.

מחיקת מערך נתונים ב-BigQuery

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה לדף BigQuery

  2. לוחצים על האפשרות להרחבה לצד הפרויקט ומאתרים את מערך הנתונים occupancy_dataset.
  3. כדי למחוק את מערך הנתונים, לוחצים על Actions (פעולות), על Delete (מחיקה) ופועלים לפי ההוראות.

מחיקת מקור נתונים

  1. נכנסים לדף Streams במסוף Google Cloud .

    מעבר לכרטיסייה 'סטרימינג'

  2. מאתרים את מקור הנתונים occupancy-bq-stream.
  3. כדי למחוק את הזרם, לוחצים על Actions (פעולות), על Delete stream (מחיקת הזרם) ופועלים לפי ההוראות.

מחיקת אפליקציה

  1. נכנסים לדף Applications במסוף Google Cloud .

    עוברים לכרטיסייה 'אפליקציות'.

  2. מאתרים את האפליקציה occupancy-bq-appשרוצים למחוק.
  3. כדי למחוק את האפליקציה, לוחצים על Actions (פעולות), על Delete application (מחיקת האפליקציה) ופועלים לפי ההוראות.

המאמרים הבאים