ההבדל בין מסקנות אונליין לבין מסקנות באצווה
הסקות אונליין הן בקשות סינכרוניות שנשלחות לנקודת קצה של מודל. כדאי להשתמש בהסקת מסקנות אונליין כשמבצעים בקשות בתגובה לקלט של אפליקציה או במצבים שבהם נדרשת הסקת מסקנות בזמן אמת.
הסקת מסקנות באצווה היא בקשה אסינכרונית. אתם יכולים לבקש מסקנות אצווה ישירות ממקור המידע של המודל בלי לפרוס את המודל לנקודת קצה. לגבי נתוני תמונות, כדאי להשתמש בהסקת מסקנות באצווה כשלא נדרשת תשובה מיידית ורוצים לעבד נתונים שנצברו באמצעות בקשה אחת.
קבלת מסקנות אונליין
פריסת מודל לנקודת קצה
כדי להשתמש במודל להצגת מסקנות אונליין, צריך לפרוס אותו לנקודת קצה. פריסת מודל משייכת משאבים פיזיים למודל, כדי שיוכל להפיק מסקנות אונליין עם זמן אחזור קצר.
אפשר לפרוס יותר ממודל אחד לנקודת קצה, ואפשר לפרוס מודל ליותר מנקודת קצה אחת. מידע נוסף על אפשרויות ועל תרחישי שימוש להטמעת מודלים
כדי לפרוס מודל, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
במסוף Google Cloud , בקטע Vertex AI, עוברים לדף Models.
לוחצים על שם המודל שרוצים לפרוס כדי לפתוח את הדף תיאור המודל.
בעמודה מזהה גרסה, לוחצים על המזהה של גרסת המודל שרוצים לפרוס.
לוחצים על פריסה ובדיקה.
אם המודל כבר נפרס לנקודות קצה כלשהן, הן מפורטות בקטע Deploy your model.
לוחצים על Deploy to endpoint.
כדי לפרוס את המודל לנקודת קצה חדשה, לוחצים על יצירת נקודת קצה חדשה ומזינים שם לנקודת הקצה החדשה. כדי לפרוס את המודל לנקודת קצה קיימת, לוחצים על הוספה לנקודת קצה קיימת ובוחרים את נקודת הקצה שם נקודת הקצה.
אפשר להוסיף יותר ממודל אחד לנקודת קצה, ואפשר להוסיף מודל לכמה נקודות קצה. מידע נוסף
אם אתם פורסים לנקודת קצה חדשה, אתם צריכים לבחור איך אפשר לגשת לנקודת הקצה:
לוחצים על Standard כדי שנקודת הקצה תהיה זמינה להיקש באמצעות API בארכיטקטורת REST.
לוחצים על פרטי כדי שנקודת הקצה תשתמש בחיבור פרטי.
אם מבצעים פריסה לנקודת קצה קיימת שכבר פרוסים בה מודל אחד או יותר, צריך לעדכן את אחוז חלוקת התנועה של המודל שפורסים ושל המודלים שכבר פרוסים, כך שהאחוזים שלהם יסתכמו ב-100%.
בוחרים באפשרות AutoML Image ומגדירים אותה באופן הבא:
אם אתם פורסים את המודל לנקודת קצה חדשה, צריך להזין 100 בחלוקת התנועה. אחרת, צריך לשנות את ערכי חלוקת התנועה של כל המודלים בנקודת הקצה כך שהסכום שלהם יהיה 100.
מזינים את מספר צמתי החישוב שרוצים לספק עבור המודל.
זה מספר הצמתים שהמודל הזה יכול להשתמש בהם בכל רגע. אתם מחויבים על הצמתים, גם אם אין תנועה של הסקת מסקנות. לעיון בתמחור
מודלים של סיווג בלבד (אופציונלי): בקטע אפשרויות של יכולת הסברה בוחרים באפשרות הפעלת שיוך תכונות למודל הזה כדי להפעיל את Vertex AI ניתן להסברה. מאשרים את הגדרות התצוגה החזותית הקיימות או בוחרים ערכים חדשים ולוחצים על סיום.
פריסת מודלים של סיווג תמונות ב-AutoML עם הגדרה של Vertex AI ניתן להסברה וביצוע היקשים עם הסברים היא אופציונלית. הפעלת Vertex AI ניתן להסברה בזמן הפריסה כרוכה בעלויות נוספות על סמך מספר הצמתים שנפרסו וזמן הפריסה. מידע נוסף זמין במאמר בנושא תמחור.
לוחצים על סיום ליד המודל, ואם כל האחוזים של חלוקת התנועה נכונים, לוחצים על המשך.
האזור שבו המודל נפרס מוצג. האזור הזה צריך להיות האזור שבו יצרתם את המודל.
לוחצים על פריסה כדי לפרוס את המודל בנקודת הקצה.
API
כשפורסים מודל באמצעות Vertex AI API, מבצעים את השלבים הבאים:
- אם צריך, יוצרים נקודת קצה.
- מאחזרים את מזהה נקודת הקצה.
- פורסים את המודל בנקודת הקצה.
יצירת נקודת קצה
אם אתם פורסים מודל לנקודת קצה קיימת, אתם יכולים לדלג על השלב הזה.
gcloud
בדוגמה הבאה משתמשים בפקודה gcloud ai endpoints create:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
מחליפים את מה שכתוב בשדות הבאים:
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI.
- ENDPOINT_NAME: השם המוצג של נקודת הקצה.
יכול להיות שיחלפו כמה שניות עד שכלי Google Cloud CLI ייצור את נקודת הקצה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שלכם.
- PROJECT_ID: מזהה הפרויקט.
- ENDPOINT_NAME: השם המוצג של נקודת הקצה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
תוכן בקשת JSON:
{
"display_name": "ENDPOINT_NAME"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata",
"genericMetadata": {
"createTime": "2020-11-05T17:45:42.812656Z",
"updateTime": "2020-11-05T17:45:42.812656Z"
}
}
}
"done": true.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
אחזור מזהה נקודת הקצה
כדי לפרוס את המודל, צריך את מזהה נקודת הקצה.
gcloud
בדוגמה הבאה משתמשים בפקודה gcloud ai endpoints list:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
מחליפים את מה שכתוב בשדות הבאים:
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI.
- ENDPOINT_NAME: השם המוצג של נקודת הקצה.
שימו לב למספר שמופיע בעמודה ENDPOINT_ID. משתמשים במזהה הזה בשלב הבא.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI.
- PROJECT_ID: .
- ENDPOINT_NAME: השם המוצג של נקודת הקצה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints?filter=display_name=ENDPOINT_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"endpoints": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID",
"displayName": "ENDPOINT_NAME",
"etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx",
"createTime": "2020-04-17T18:31:11.585169Z",
"updateTime": "2020-04-17T18:35:08.568959Z"
}
]
}
פריסת המודל
בוחרים את הכרטיסייה של השפה או הסביבה שלכם:
gcloud
בדוגמאות הבאות משתמשים בפקודה gcloud ai endpoints deploy-model.
בדוגמה הבאה מתבצע פריסה של Model ל-Endpoint בלי לפצל את התנועה בין כמה משאבי DeployedModel:
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- ENDPOINT_ID: המזהה של נקודת הקצה.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI.
- MODEL_ID: המזהה של המודל שרוצים לפרוס.
-
DEPLOYED_MODEL_NAME: שם ל-
DeployedModel. אפשר להשתמש גם בשם המוצג שלModelבשבילDeployedModel. - MIN_REPLICA_COUNT: מספר הצמתים המינימלי לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים לפי הצורך בהתאם לעומס ההסקה, עד למספר המקסימלי של הצמתים ולפחות למספר הזה של הצמתים.
-
MAX_REPLICA_COUNT: המספר המקסימלי של הצמתים לפריסה הזו.
אפשר להגדיל או להקטין את מספר הצמתים בהתאם לעומס ההסקה, עד למספר הצמתים הזה ולעולם לא פחות ממספר הצמתים המינימלי.
אם לא מציינים את הדגל
--max-replica-count, המספר המקסימלי של הצמתים מוגדר לערך של--min-replica-count.
מריצים את הפקודה gcloud ai endpoints deploy-model:
Linux, macOS או Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
חלוקת התנועה
הדגל --traffic-split=0=100 בדוגמאות הקודמות שולח 100% מתנועת החיזוי שמתקבלת ב-Endpoint אל DeployedModel החדש, שמיוצג על ידי המזהה הזמני 0. אם Endpoint כבר יש משאבים אחרים, אפשר לפצל את התנועה בין המשאבים החדשים לבין המשאבים הישנים.DeployedModelDeployedModel
לדוגמה, כדי לשלוח 20% מהתנועה ל-DeployedModel החדש ו-80% מהתנועה ל-DeployedModel ישן יותר, מריצים את הפקודה הבאה.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- OLD_DEPLOYED_MODEL_ID: המזהה של
DeployedModelהקיים.
מריצים את הפקודה gcloud ai endpoints deploy-model:
Linux, macOS או Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST
פורסים את המודל.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI.
- PROJECT_ID: .
- ENDPOINT_ID: המזהה של נקודת הקצה.
- MODEL_ID: המזהה של המודל שרוצים לפרוס.
-
DEPLOYED_MODEL_NAME: שם ל-
DeployedModel. אפשר להשתמש גם בשם המוצג שלModelבשבילDeployedModel. - MIN_REPLICA_COUNT: מספר הצמתים המינימלי לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים לפי הצורך בהתאם לעומס ההסקה, עד למספר המקסימלי של הצמתים ולפחות למספר הזה של הצמתים.
- MAX_REPLICA_COUNT: המספר המקסימלי של הצמתים לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים בהתאם לעומס ההסקה, עד למספר הצמתים הזה ולעולם לא פחות ממספר הצמתים המינימלי.
- TRAFFIC_SPLIT_THIS_MODEL: אחוז תנועת התחזיות לנקודת הקצה הזו שתנותב למודל שנפרס באמצעות הפעולה הזו. ברירת המחדל היא 100. סכום כל האחוזים של התנועה צריך להיות 100. מידע נוסף על פיצול תנועה
- DEPLOYED_MODEL_ID_N: אופציונלי. אם מודלים אחרים נפרסים בנקודת הקצה הזו, צריך לעדכן את אחוזי חלוקת התנועה שלהם כך שסכום כל האחוזים יהיה 100.
- TRAFFIC_SPLIT_MODEL_N: ערך אחוז חלוקת התנועה למזהה המודל שנפרס.
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי בפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
תוכן בקשת JSON:
{
"deployedModel": {
"model": "projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID",
"displayName": "DEPLOYED_MODEL_NAME",
"automaticResources": {
"minReplicaCount": MIN_REPLICA_COUNT,
"maxReplicaCount": MAX_REPLICA_COUNT
}
},
"trafficSplit": {
"0": TRAFFIC_SPLIT_THIS_MODEL,
"DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1,
"DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2
},
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata",
"genericMetadata": {
"createTime": "2020-10-19T17:53:16.502088Z",
"updateTime": "2020-10-19T17:53:16.502088Z"
}
}
}
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
איך משנים את הגדרות ברירת המחדל של רישום מסקנות ביומן
קבלת סטטוס פעולה
חלק מהבקשות מפעילות תהליכים ארוכים שדורשים זמן להשלמה. הבקשות האלה מחזירות שם פעולה, שאפשר להשתמש בו כדי לראות את סטטוס הפעולה או לבטל אותה. Vertex AI מספק שיטות עזר לביצוע קריאות לפעולות ממושכות. מידע נוסף זמין במאמר בנושא עבודה עם פעולות ממושכות.
ביצוע הסקה אונליין באמצעות המודל שפרסתם
כדי לבצע הסקה אונליין, שולחים פריט בדיקה אחד או יותר למודל לצורך ניתוח, והמודל מחזיר תוצאות שמבוססות על היעד של המודל. מידע נוסף על תוצאות ההסקה זמין בדף פירוש תוצאות.
המסוף
משתמשים במסוף Google Cloud כדי לבקש הסקה אונליין. צריך לפרוס את המודל בנקודת קצה.
במסוף Google Cloud , בקטע Vertex AI, עוברים לדף Models.
ברשימת המודלים, לוחצים על שם המודל כדי לבקש מסקנות.
בוחרים בכרטיסייה פריסה ובדיקה.
בקטע Test your model (בדיקת המודל), מוסיפים פריטי בדיקה כדי לבקש הסקה.
כדי לבקש הסקה ממודלים של AutoML למטרות שקשורות לתמונות, צריך להעלות תמונה.
מידע על חשיבות התכונות המקומיות זמין במאמר קבלת הסברים.
אחרי שההסקה מסתיימת, Vertex AI מחזיר את התוצאות במסוף.
API
משתמשים ב-Vertex AI API כדי לבקש הסקה אונליין. צריך לפרוס את המודל בנקודת קצה. דוגמה מפורטת יותר זמינה במחברת ההדרכה בנושא חיזוי אונליין באמצעות מודל לסיווג תמונות ב-AutoML.
קבלת מסקנות בכמות גדולה
כדי לשלוח בקשה להסקת מסקנות באצווה, מציינים מקור קלט ופורמט פלט שבו Vertex AI מאחסן את תוצאות ההסקה. כדי להריץ מסקנות באצווה עבור סוג המודל של תמונות AutoML, צריך קובץ JSON Lines של קלט ושם של קטגוריה של Cloud Storage לאחסון הפלט.
הדרישות לגבי נתוני הקלט
בקלט של בקשות באצווה מציינים את הפריטים שרוצים לשלוח למודל כדי להסיק מסקנות. במודלים של סיווג תמונות, אפשר להשתמש בקובץ JSON Lines כדי לציין רשימה של תמונות להסקת מסקנות, ואז לאחסן את קובץ JSON Lines בקטגוריה של Cloud Storage. בדוגמה הבאה מוצגת שורה אחת בקובץ JSON Lines של קלט:
{"content": "gs://sourcebucket/datasets/images/source_image.jpg", "mimeType": "image/jpeg"}
שליחת בקשה להסקת מסקנות באצווה
כדי לשלוח בקשות להסקת מסקנות באצווה, אפשר להשתמש במסוף Google Cloud או ב-Vertex AI API. בהתאם למספר פריטי הקלט ששלחתם, יכול להיות שיעבור זמן עד שמשימת הסקת מסקנות באצווה תושלם.
מסוף Google Cloud
משתמשים במסוף Google Cloud כדי לבקש הסקה באצווה.
במסוף Google Cloud , בקטע Vertex AI, עוברים לדף Batch predictions.
לוחצים על יצירה כדי לפתוח את החלון תחזית חדשה של נתונים מצטברים ומבצעים את השלבים הבאים:
- מזינים שם להסקת המסקנות באצווה.
- בשדה Model name (שם המודל), בוחרים את שם המודל שרוצים להשתמש בו להסקת מסקנות באצווה הזו.
- בשדה Source path (נתיב המקור), מציינים את המיקום ב-Cloud Storage שבו נמצא קובץ הקלט בפורמט JSON Lines.
- בנתיב היעד, מציינים מיקום ב-Cloud Storage שבו יישמרו התוצאות של ההסקה באצווה. פורמט הפלט נקבע לפי היעד של המודל. מודלים של AutoML למטרות של אובייקטים בתמונות יוצרים קובצי JSON Lines.
API
משתמשים ב-Vertex AI API כדי לשלוח בקשות להסקת מסקנות בקבוצות.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו המודל מאוחסן ועבודת ההסקה באצווה מבוצעת. לדוגמה,
us-central1. - PROJECT_ID:
- BATCH_JOB_NAME: השם המוצג של המשימה באצווה
- MODEL_ID: המזהה של המודל שבו רוצים להשתמש כדי להסיק מסקנות
- THRESHOLD_VALUE (אופציונלי): מערכת Vertex AI מחזירה רק
הסקת מסקנות עם ציוני מהימנות שלפחות הערך הזה. ערך ברירת המחדל הוא
0.0. - MAX_PREDICTIONS (אופציונלי): Vertex AI מחזיר עד מספר ההסקות הזה, החל מההסקות עם ציוני רמת הסמך הגבוהים ביותר. ערך ברירת המחדל הוא
10. - URI: ה-URI של Cloud Storage שבו נמצא קובץ ה-JSON Lines של הקלט.
- BUCKET: הקטגוריה שלכם ב-Cloud Storage
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי בפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs
גוף בקשת JSON:
{
"displayName": "BATCH_JOB_NAME",
"model": "projects/PROJECT/locations/LOCATION/models/MODEL_ID",
"modelParameters": {
"confidenceThreshold": THRESHOLD_VALUE,
"maxPredictions": MAX_PREDICTIONS
},
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": ["URI"],
},
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_BUCKET",
},
},
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/batchPredictionJobs/BATCH_JOB_ID",
"displayName": "BATCH_JOB_NAME",
"model": "projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"CONTENT"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "BUCKET"
}
},
"state": "JOB_STATE_PENDING",
"createTime": "2020-05-30T02:58:44.341643Z",
"updateTime": "2020-05-30T02:58:44.341643Z",
"modelDisplayName": "MODEL_NAME",
"modelObjective": "MODEL_OBJECTIVE"
}
אפשר לשלוח שאילתות לגבי הסטטוס של משימה באצווה באמצעות BATCH_JOB_ID עד שהמשימה state תסתיים JOB_STATE_SUCCEEDED.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
אחזור תוצאות של הסקה בקבוצות
Vertex AI שולח את הפלט של מסקנות אצווה ליעד שציינתם.
כשמשימת הסקת מסקנות באצווה מסתיימת, הפלט של הסקת המסקנות מאוחסן בקטגוריה של Cloud Storage שציינתם בבקשה.
דוגמה לתוצאות של הסקת מסקנות באצווה
הדוגמה הבאה מציגה תוצאות של הסקת מסקנות בקבוצה ממודל לסיווג תמונות.
{
"instance": {"content": "gs://bucket/image.jpg", "mimeType": "image/jpeg"},
"prediction": {
"ids": [1, 2],
"displayNames": ["cat", "dog"],
"confidences": [0.7, 0.5]
}
}