אפשר ליצור מודל AutoML ישירות במסוףGoogle Cloud , או ליצור צינור הדרכה באופן פרוגרמטי באמצעות ה-API או אחת מספריות הלקוח של Agent Platform.
המודל הזה נוצר באמצעות מערך נתונים מוכן שאתם מספקים באמצעות המסוף או Agent Platform API. ה-API של Agent Platform משתמש בפריטים ממערך הנתונים כדי לאמן את המודל, לבדוק אותו ולהעריך את הביצועים שלו. בודקים את תוצאות ההערכות, משנים את מערך הנתונים להכשרה לפי הצורך ויוצרים צינור חדש להכשרה באמצעות מערך הנתונים המשופר.
תהליך אימון המודל יכול להימשך כמה שעות. ה-API של Agent Platform מאפשר לכם לקבל את הסטטוס של משימת ההדרכה.
יצירת צינור עיבוד נתונים לאימון ב-AutoML Edge
אחרי שיש לכם מערך נתונים עם קבוצה מייצגת של פריטי אימון, אתם מוכנים ליצור צינור עיבוד נתונים לאימון AutoML Edge.
בוחרים את הכרטיסייה שלמטה שמתאימה ליעד שלכם:
סיווג
בזמן האימון אפשר לבחור את סוג המודל של AutoML Edge שרוצים, בהתאם לתרחיש השימוש הספציפי:
- זמן אחזור קצר (
MOBILE_TF_LOW_LATENCY_1) - שימוש למטרות כלליות (
MOBILE_TF_VERSATILE_1) - איכות חיזוי גבוהה יותר (
MOBILE_TF_HIGH_ACCURACY_1)
בוחרים את הכרטיסייה של השפה או הסביבה שלכם:
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו נמצא מערך הנתונים והמודל נוצר. לדוגמה:
us-central1. - PROJECT: מזהה הפרויקט.
- TRAININGPIPELINE_DISPLAYNAME: שדה חובה. שם תצוגה ל-trainingPipeline.
- DATASET_ID: מספר המזהה של מערך הנתונים שמשמש לאימון.
- fractionSplit: אופציונלי. אחת מתוך כמה אפשרויות לשימוש בלמידת מכונה (ML) בנתונים שלכם. במקרה של
fractionSplit, סכום הערכים צריך להיות 1. לדוגמה:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: שם מוצג של המודל שהועלה (נוצר) על ידי TrainingPipeline.
- MODEL_DESCRIPTION*: תיאור של המודל.
- modelToUpload.labels*: כל קבוצה של זוגות מפתח/ערך לארגון המודלים. לדוגמה:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: סוג מודל ה-Edge לאימון. האפשרויות הן:
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: עלות האימון בפועל תהיה שווה לערך הזה או נמוכה ממנו. במודלים של Edge, התקציב צריך להיות בין 1,000 ל-100,000 שעות מילי-נוד (כולל).
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי
| * | התיאור של קובץ הסכימה שציינתם ב-trainingTaskDefinition מתאר את השימוש בשדה הזה. |
| † | קובץ הסכימה שציינתם ב-trainingTaskDefinition מכריז על השדה הזה ומתאר אותו. |
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
גוף בקשת JSON:
{
"displayName": "TRAININGPIPELINE_DISPLAYNAME",
"inputDataConfig": {
"datasetId": "DATASET_ID",
"fractionSplit": {
"trainingFraction": "DECIMAL",
"validationFraction": "DECIMAL",
"testFraction": "DECIMAL"
}
},
"modelToUpload": {
"displayName": "MODEL_DISPLAYNAME",
"description": "MODEL_DESCRIPTION",
"labels": {
"KEY": "VALUE"
}
},
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml",
"trainingTaskInputs": {
"multiLabel": "false",
"modelType": ["EDGE_MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
התשובה מכילה מידע על המפרטים וגם על TRAININGPIPELINE_ID.
אפשר לקבל את הסטטוס של משימת trainingPipeline באמצעות הפקודה TRAININGPIPELINE_ID.
סיווג
בזמן האימון אפשר לבחור את סוג המודל של AutoML Edge שרוצים, בהתאם לתרחיש השימוש הספציפי:
- זמן אחזור קצר (
MOBILE_TF_LOW_LATENCY_1) - שימוש למטרות כלליות (
MOBILE_TF_VERSATILE_1) - איכות חיזוי גבוהה יותר (
MOBILE_TF_HIGH_ACCURACY_1)
בוחרים את הכרטיסייה של השפה או הסביבה שלכם:
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו נמצא מערך הנתונים והמודל נוצר. לדוגמה:
us-central1. - PROJECT: מזהה הפרויקט.
- TRAININGPIPELINE_DISPLAYNAME: שדה חובה. שם תצוגה ל-trainingPipeline.
- DATASET_ID: מספר המזהה של מערך הנתונים שמשמש לאימון.
- fractionSplit: אופציונלי. אחת מתוך כמה אפשרויות לשימוש בלמידת מכונה (ML) בנתונים שלכם. במקרה של
fractionSplit, סכום הערכים צריך להיות 1. לדוגמה:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: שם מוצג של המודל שהועלה (נוצר) על ידי TrainingPipeline.
- MODEL_DESCRIPTION*: תיאור של המודל.
- modelToUpload.labels*: כל קבוצה של זוגות מפתח/ערך לארגון המודלים. לדוגמה:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: סוג מודל ה-Edge לאימון. האפשרויות הן:
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: עלות האימון בפועל תהיה שווה לערך הזה או נמוכה ממנו. במודלים של Edge, התקציב צריך להיות בין 1,000 ל-100,000 שעות מילי-נוד (כולל).
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי
| * | התיאור של קובץ הסכימה שציינתם ב-trainingTaskDefinition מתאר את השימוש בשדה הזה. |
| † | קובץ הסכימה שציינתם ב-trainingTaskDefinition מכריז על השדה הזה ומתאר אותו. |
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
גוף בקשת JSON:
{
"displayName": "TRAININGPIPELINE_DISPLAYNAME",
"inputDataConfig": {
"datasetId": "DATASET_ID",
"fractionSplit": {
"trainingFraction": "DECIMAL",
"validationFraction": "DECIMAL",
"testFraction": "DECIMAL"
}
},
"modelToUpload": {
"displayName": "MODEL_DISPLAYNAME",
"description": "MODEL_DESCRIPTION",
"labels": {
"KEY": "VALUE"
}
},
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml",
"trainingTaskInputs": {
"multiLabel": "true",
"modelType": ["EDGE_MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
התשובה מכילה מידע על המפרטים וגם על TRAININGPIPELINE_ID.
אפשר לקבל את הסטטוס של משימת trainingPipeline באמצעות הפקודה TRAININGPIPELINE_ID.
זיהוי אובייקטים
בזמן האימון אפשר לבחור את סוג המודל של AutoML Edge שרוצים, בהתאם לתרחיש השימוש הספציפי:
- זמן אחזור קצר (
MOBILE_TF_LOW_LATENCY_1) - שימוש למטרות כלליות (
MOBILE_TF_VERSATILE_1) - איכות חיזוי גבוהה יותר (
MOBILE_TF_HIGH_ACCURACY_1)
בוחרים את הכרטיסייה של השפה או הסביבה שלכם:
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו נמצא מערך הנתונים והמודל נוצר. לדוגמה:
us-central1. - PROJECT: מזהה הפרויקט.
- TRAININGPIPELINE_DISPLAYNAME: שדה חובה. שם תצוגה ל-trainingPipeline.
- DATASET_ID: מספר המזהה של מערך הנתונים שמשמש לאימון.
-
fractionSplit: אופציונלי. אחת מתוך כמה אפשרויות לשימוש בלמידת מכונה (ML) בנתונים שלכם. במקרה שלfractionSplit, סכום הערכים צריך להיות 1. לדוגמה:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: שם מוצג של המודל שהועלה (נוצר) על ידי TrainingPipeline.
- MODEL_DESCRIPTION*: תיאור של המודל.
- modelToUpload.labels*: כל קבוצה של זוגות מפתח/ערך לארגון המודלים. לדוגמה:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: סוג מודל ה-Edge לאימון. האפשרויות הן:
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: עלות האימון בפועל תהיה שווה לערך הזה או נמוכה ממנו. במודלים של Cloud, התקציב צריך להיות בין 20,000 ל-900,000 מילי-שעות של צומת (כולל). ערך ברירת המחדל הוא 216,000, שמייצג יום אחד בזמן בפועל, בהנחה שנעשה שימוש ב-9 צמתים.
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי
| * | התיאור של קובץ הסכימה שציינתם ב-trainingTaskDefinition מתאר את השימוש בשדה הזה. |
| † | קובץ הסכימה שציינתם ב-trainingTaskDefinition מכריז על השדה הזה ומתאר אותו. |
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
גוף בקשת JSON:
{
"displayName": "TRAININGPIPELINE_DISPLAYNAME",
"inputDataConfig": {
"datasetId": "DATASET_ID",
"fractionSplit": {
"trainingFraction": "DECIMAL",
"validationFraction": "DECIMAL",
"testFraction": "DECIMAL"
}
},
"modelToUpload": {
"displayName": "MODEL_DISPLAYNAME",
"description": "MODEL_DESCRIPTION",
"labels": {
"KEY": "VALUE"
}
},
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_object_detection_1.0.0.yaml",
"trainingTaskInputs": {
"modelType": ["EDGE_MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
התשובה מכילה מידע על המפרטים וגם על TRAININGPIPELINE_ID.
אפשר לקבל את הסטטוס של משימת trainingPipeline באמצעות הפקודה TRAININGPIPELINE_ID.
קבלת סטטוס של TrainingPipeline
אפשר להשתמש בקוד הבא כדי לקבל באופן פרוגרמטי את הסטטוס של יצירת trainingPipeline.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו נמצא TrainingPipeline.
- PROJECT: מזהה הפרויקט.
- TRAININGPIPELINE_ID: המזהה של צינור ההדרכה הספציפי.
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID" | Select-Object -Expand Content
בשדה "state" מוצג הסטטוס הנוכחי של הפעולה. צינור אימון שהושלם
הפלט שמתקבל אחרי השלמת create trainingPipeline operation אמור להיראות כך:
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Agent Platform Java API.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
קבלת מידע על מודל
אחרי שיוצרים את trainingPipeline, אפשר להשתמש ב-display name של המודל כדי לקבל מידע מפורט יותר על המודל.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו נמצא המודל. לדוגמה,
us-central1. - PROJECT: .
- MODEL_DISPLAYNAME: השם המוצג של המודל שציינתם כשייצרתם משימת trainingPipeline.
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME" | Select-Object -Expand Content
הפלט שיוצג לכם עבור מודל AutoML Edge מאומן אמור להיות דומה לזה שמופיע בהמשך. הפלט לדוגמה הבא הוא של מודל AutoML Edge לתמונות:
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Agent Platform Java API.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Agent Platform Node.js API.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.