ב-Vertex AI אפשר לייצא את המטא-נתונים ואת קבוצות ההערות ממקור Dataset. היכולת הזו יכולה להיות שימושית אם אתם רוצים לשמור תיעוד של אוסף ספציפי של שינויים, תוספות או מחיקות של הערות.
כשמייצאים Dataset, Vertex AI יוצר קובץ אחד או יותר של JSON Lines שמכילים את המטא-נתונים וההערות של Dataset, ושומר את הקבצים האלה של JSON Lines בספרייה ב-Cloud Storage לפי בחירתכם.
אפשר לייצא משאבי תמונות Dataset. אי אפשר לייצא משאבים טבלאיים של Dataset.
ייצוא של Dataset לא יוצר עותקים נוספים של נתוני התמונה שעליהם מבוסס Dataset. קבצי JSON Lines שנוצרו בתהליכי הייצוא כוללים את כתובות ה-URI המקוריות של Cloud Storage לנתונים שציינתם כשייבאתם את הנתונים האלה אל Dataset.
ייצוא של Dataset באמצעות המסוף או ה-API Google Cloud
אפשר להשתמש במסוף Google Cloud או ב-Vertex AI API כדי לייצא Dataset.
פועלים לפי השלבים בכרטיסייה המתאימה:
המסוף
במסוף Google Cloud , בקטע Vertex AI, עוברים לדף Datasets.
בתפריט הנפתח Region, בוחרים את המיקום שבו מאוחסן
Dataset.מוצאים את השורה של
Dataset. אפשר לייצא מטא-נתונים והערות של כל קבוצות ההערות או של קבוצת הערות ספציפית:אם רוצים לייצא את המטא-נתונים וההערות של כל
Datasetקבוצות ההערות,לוחצים על הצגת פרטים נוספים ואז על ייצוא של מערך הנתונים.הפקודה הזו אומרת ל-Vertex AI ליצור קבוצה של קובצי JSON Lines לכל קבוצת הערות.
אם רוצים לייצא מטא-נתונים והערות של קבוצת הערות ספציפית, פועלים באופן הבא:
לוחצים על הרחבת הצומת כדי להציג את השורות של כל אחת מקבוצות ההערות של
Dataset.בשורה של קבוצת ההערות שרוצים לייצא, לוחצים על הצגת פרטים נוספים ואז על ייצוא קבוצת ההערות.
הפקודה הזו אומרת ל-Vertex AI ליצור קבוצה של קובצי JSON Lines עבור קבוצת ההערות שציינתם.
בתיבת הדו-שיח Export data (ייצוא נתונים), מזינים ספרייה ב-Cloud Storage שבה רוצים שמערכת Vertex AI תשמור את קובצי ה-JSON Lines שיוצאו. לוחצים על ייצוא.
REST
קבלת המזהה של Dataset
כדי לייצא Dataset, צריך לדעת את המזהה המספרי של Dataset. אם אתם יודעים את השם המוצג שלDataset אבל לא את המזהה, תוכלו להרחיב את הקטע הבא כדי ללמוד איך לקבל את המזהה באמצעות ה-API:
קבלת מזהה של מערך נתונים מהשם המוצג שלו
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
LOCATION: המיקום שבו מאוחסן
Dataset. לדוגמה,us-central1.PROJECT_ID: מזהה הפרויקט.
DATASET_DISPLAY_NAME: השם המוצג של
Dataset.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME" | Select-Object -Expand Content
בדוגמה הבאה, התשובה קוצרה עם ... כדי להדגיש איפה אפשר למצוא את המזהה של Dataset: זה המספר שמחליף את DATASET_ID.
{
"datasets": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID",
"displayName": "DATASET_DISPLAY_NAME",
...
}
]
}
אפשר גם לקבל את המזהה של Datasetממסוף Google Cloud :
עוברים לדף Datasets (קבוצות נתונים) ב-Vertex AI ומחפשים את המספר בעמודה ID (מזהה).
ייצוא של קבוצה אחת או יותר של הערות
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
LOCATION: המיקום שבו מאוחסן
Dataset. לדוגמה,us-central1.PROJECT_ID: מזהה הפרויקט.
DATASET_ID: המזהה המספרי של
Dataset.EXPORT_DIRECTORY: ה-URI של Cloud Storage (מתחיל ב-
gs://) של ספרייה שבה רוצים שמערכת Vertex AI תשמור את קובצי JSON Lines המיוצאים. הקובץ צריך להיות בקטגוריה של Cloud Storage שיש לכם גישה אליה, אבל לא חייבת להיות קיימת ספרייה.FILTER: מחרוזת מסנן שקובעת אילו קבוצות של הערות ייצאו.
אם רוצים לייצא מטא-נתונים והערות לכל קבוצות ההערות של
Dataset,מחליפים את FILTER במחרוזת ריקה (או משמיטים את השדהannotationsFilterמגוף הבקשה). הפקודה הזו אומרת ל-Vertex AI ליצור קבוצה של קובצי JSON Lines לכל קבוצת הערות.אם רוצים לייצא מטא-נתונים והערות של קבוצת הערות ספציפית, מחליפים את FILTER בערכים הבאים:
labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_IDהפקודה הזו אומרת ל-Vertex AI ליצור קבוצה של קובצי JSON Lines עבור קבוצת ההערות עם המזהה המספרי ANNOTATION_SET_ID.
כדי למצוא את המזהה המספרי של קבוצת ההערות שרוצים לציין, צריך להציג את קבוצת ההערות במסוף Google Cloud ולחפש את הערך שאחרי
annotationSetIdבכתובת ה-URL.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export
גוף בקשת JSON:
{
"exportConfig": {
"gcsDestination": {
"outputUriPrefix": "EXPORT_DIRECTORY"
},
"annotationsFilter": "FILTER"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth application-default 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_ID/locations/LOCATION/datasets/DATASET_ID:export" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportDataOperationMetadata",
"genericMetadata": {
"createTime": "2021-02-17T00:54:58.827429Z",
"updateTime": "2021-02-17T00:54:58.827429Z"
},
"gcsOutputDirectory": "EXPORT_DIRECTORY/export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z"
}
}
חלק מהבקשות מפעילות תהליכים ארוכים שדורשים זמן להשלמה. הבקשות האלה מחזירות שם פעולה, שאפשר להשתמש בו כדי לראות את סטטוס הפעולה או לבטל אותה. Vertex AI מספק שיטות עזר לביצוע קריאות לפעולות ממושכות. מידע נוסף זמין במאמר בנושא עבודה עם פעולות ממושכות.
הסבר על קבצים שיוצאו
בספריית הייצוא שציינתם בקטע הקודם, Vertex AI יוצר ספרייה חדשה עם התווית Datasetשם התצוגה של sexport-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z וחותמת זמן. לדוגמה, export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z.
בספרייה הזו, תוכלו למצוא ספריית משנה לכל קבוצת הערות שייצאתם.
לכל קבוצת אנוטציות אפשר למצוא קובץ אחד או יותר בפורמט JSON Lines. כל שורה בכל קובץ JSON Lines מייצגת פריט נתונים מתוך קבוצת ההערות. כל פריט נתונים יכול להכיל מטא-נתונים והערות שציינתם כשייבאתם את הנתונים ל-Vertex AI, וגם מטא-נתונים והערות שהוספתם אחרי ייבוא הנתונים. לדוגמה, אם ביקשתם להוסיף תוויות לנתונים ב-Dataset או אם הוספתם ידנית תוויות או הערות ל-Dataset במסוףGoogle Cloud , המידע הזה ייכלל בקבצים המיוצאים.
אם מייצאים כמה קבוצות של הערות, יכול להיות שאותם פריטי נתונים יופיעו בכמה קובצי JSON Lines. לדוגמה, אם מייצאים תמונה Dataset עם כמה קבוצות של הערות, קובץ JSON Lines אחד עשוי להכיל פריט נתונים עם הערה של סיווג עם תווית אחת, וקובץ JSON Lines אחר של קבוצת הערות שונה עשוי להכיל את אותו פריט נתונים, אבל עם הערה של זיהוי אובייקטים במקום זאת.
הפורמט של הקבצים המיוצאים זהה לפורמט של קובצי הייבוא של JSON Lines שבהם אפשר להשתמש כדי לייבא נתונים ל-Vertex AI.
הפורמט הזה תלוי בסוג הנתונים (תמונה או טבלה) ובמטרה (למשל, מעקב אחר אובייקטים, חילוץ ישויות או סיווג).
לדוגמה, אם מייצאים קבוצת הערות לסיווג תמונות עם תווית אחת, כל שורה בכל קובץ JSON Lines מעוצבת לפי קובץ הסכימה gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml, כפי שמתואר במאמר הכנת נתוני תמונות.
המאמרים הבאים
- איך מוסיפים תוויות לנתונים באמצעות Google Cloud המסוף
- מידע נוסף על עבודה עם מערכי נתונים ב-Vertex AI