בדף הזה מוסבר איך להשתמש במערכי נתונים מנוהלים של Agent Platform כדי לאמן מודלים בהתאמה אישית. היתרונות של מערכי נתונים מנוהלים:
- ניהול מערכי הנתונים במקום מרכזי.
- ליצור תוויות וכמה קבוצות של הערות.
- יצירת משימות לסימון נתונים על ידי אדם באמצעות סימון נתונים משולב.
- מעקב אחר שושלת היוחסין של מודלים לצורך פיקוח ופיתוח איטרטיבי.
- כדי להשוות בין ביצועי המודלים, מאמנים מודלים של AutoML ומודלים בהתאמה אישית באמצעות אותן קבוצות נתונים.
- ליצור סטטיסטיקות והמחשות ויזואליות של הנתונים.
- פיצול אוטומטי של הנתונים לקבוצות אימון, בדיקה ואימות.
לפני שמתחילים
כדי להשתמש במערך נתונים מנוהל באפליקציית האימון, צריך ליצור את מערך הנתונים. צריך ליצור את מערך הנתונים ואת צינור האימון שמשמש לאימון באותו אזור. צריך להשתמש באזור שבו משאבי Dataset זמינים.
גישה למערך נתונים מאפליקציית האימון
כשיוצרים פייפליין אימון בלי שרת (serverless), אפשר לציין שאפליקציית האימון משתמשת במערך נתונים של Agent Platform.
בזמן הריצה, Agent Platform מעבירה מטא-נתונים על מערך הנתונים לאפליקציית האימון על ידי הגדרת משתני הסביבה הבאים בקונטיינר האימון.
-
AIP_DATA_FORMAT: הפורמט שבו מערך הנתונים מיוצא. הערכים האפשריים הם:jsonl,csvאוbigquery. -
AIP_TRAINING_DATA_URI: ה-URI ב-BigQuery של נתוני האימון או ה-URI של Cloud Storage של קובץ נתוני האימון. -
AIP_VALIDATION_DATA_URI: ה-URI של נתוני האימות ב-BigQuery או ה-URI של קובץ נתוני האימות ב-Cloud Storage. -
AIP_TEST_DATA_URI: ה-URI של נתוני הבדיקה ב-BigQuery או ה-URI של קובץ נתוני הבדיקה ב-Cloud Storage.
אם הערך של AIP_DATA_FORMAT במערך הנתונים הוא jsonl או csv, ערכי ה-URI של הנתונים מתייחסים ל-URI של Cloud Storage, כמו gs://bucket_name/path/training-*. כדי לשמור על גודל קטן יחסית של כל קובץ נתונים, Agent Platform מפצל את מערך הנתונים לכמה קבצים. יכול להיות שנתוני האימון, האימות או הבדיקה יפוצלו לכמה קבצים, ולכן כתובות ה-URI מסופקות בפורמט של תווים כלליים.
מידע נוסף על הורדת אובייקטים באמצעות דוגמאות קוד של Cloud Storage
אם הערך של AIP_DATA_FORMAT הוא bigquery, ערכי ה-URI של הנתונים מתייחסים ל-URI של BigQuery, כמו bq://project.dataset.table.
מידע נוסף על דפדוף בנתוני BigQuery
פורמט מערך הנתונים
בקטעים הבאים מוסבר איך Agent Platform מעצב את הנתונים כשמעבירים מערך נתונים לאפליקציית האימון.
מערכי נתונים של תמונות
מערכי נתונים של תמונות מועברים לאפליקציית האימון בפורמט JSON Lines. בוחרים את הכרטיסייה של היעד של מערך הנתונים כדי לקבל מידע נוסף על האופן שבו Agent Platform מעצבת את מערך הנתונים.
סיווג עם תווית אחת
Agent Platform משתמשת בסכימה הבאה שזמינה לציבור כשמייצאים מערך נתונים של סיווג תמונות עם תווית אחת. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"imageGcsUri": "gs://bucket/filename.ext",
"classificationAnnotation": {
"displayName": "LABEL",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name": "displayName",
"env": "prod"
}
},
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training/test/validation"
}
}הערות בשדה:
-
imageGcsUri: ה-URI של התמונה הזו ב-Cloud Storage. -
annotationResourceLabels: מכיל מספר כלשהו של צמדי מפתח/ערך של מחרוזות. Agent Platform משתמשת בשדה הזה כדי לציין את קבוצת ההערות. -
dataItemResourceLabels– מכיל מספר כלשהו של צמדי מחרוזות של מפתח/ערך. מציין את השימוש בפריט הנתונים לצורך למידת מכונה, כמו אימון, בדיקה או אימות.
דוגמה ל-JSON Lines
{"imageGcsUri": "gs://bucket/filename1.jpeg", "classificationAnnotation": {"displayName": "daisy"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
{"imageGcsUri": "gs://bucket/filename2.gif", "classificationAnnotation": {"displayName": "dandelion"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename3.png", "classificationAnnotation": {"displayName": "roses"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename4.bmp", "classificationAnnotation": {"displayName": "sunflowers"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename5.tiff", "classificationAnnotation": {"displayName": "tulips"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}}
...סיווג עם כמה תוויות
Agent Platform משתמשת בסכימה הבאה שזמינה לציבור הרחב כשמייצאים מערך נתונים של סיווג תמונות עם כמה תוויות. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"imageGcsUri": "gs://bucket/filename.ext",
"classificationAnnotations": [
{
"displayName": "LABEL1",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name":"displayName",
"label_type": "flower_type"
}
},
{
"displayName": "LABEL2",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name":"displayName",
"label_type": "image_shot_type"
}
}
],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training/test/validation"
}
}הערות בשדה:
-
imageGcsUri: ה-URI של התמונה הזו ב-Cloud Storage. -
annotationResourceLabels: מכיל מספר כלשהו של צמדי מפתח/ערך של מחרוזות. Agent Platform משתמשת בשדה הזה כדי לציין את קבוצת ההערות. -
dataItemResourceLabels– מכיל מספר כלשהו של צמדי מחרוזות של מפתח/ערך. מציין את השימוש בפריט הנתונים לצורך למידת מכונה, כמו אימון, בדיקה או אימות.
דוגמה ל-JSON Lines
{"imageGcsUri": "gs://bucket/filename1.jpeg", "classificationAnnotations": [{"displayName": "daisy"}, {"displayName": "full_shot"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
{"imageGcsUri": "gs://bucket/filename2.gif", "classificationAnnotations": [{"displayName": "dandelion"}, {"displayName": "medium_shot"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename3.png", "classificationAnnotations": [{"displayName": "roses"}, {"displayName": "extreme_closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename4.bmp", "classificationAnnotations": [{"displayName": "sunflowers"}, {"displayName": "closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename5.tiff", "classificationAnnotations": [{"displayName": "tulips"}, {"displayName": "extreme_closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}}
...זיהוי אובייקטים
Agent Platform משתמשת בסכימה הבאה שזמינה לציבור כשמייצאים מערך נתונים של זיהוי אובייקטים. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_bounding_box_io_format_1.0.0.yaml
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"imageGcsUri": "gs://bucket/filename.ext",
"boundingBoxAnnotations": [
{
"displayName": "OBJECT1_LABEL",
"xMin": "X_MIN",
"yMin": "Y_MIN",
"xMax": "X_MAX",
"yMax": "Y_MAX",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name": "displayName",
"env": "prod"
}
},
{
"displayName": "OBJECT2_LABEL",
"xMin": "X_MIN",
"yMin": "Y_MIN",
"xMax": "X_MAX",
"yMax": "Y_MAX"
}
],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "test/train/validation"
}
}הערות בשדה:
-
imageGcsUri: ה-URI של התמונה הזו ב-Cloud Storage. -
annotationResourceLabels: מכיל מספר כלשהו של צמדי מפתח/ערך של מחרוזות. Agent Platform משתמשת בשדה הזה כדי לציין את קבוצת ההערות. -
dataItemResourceLabels– מכיל מספר כלשהו של צמדי מחרוזות של מפתח/ערך. מציין את השימוש בפריט הנתונים לצורך למידת מכונה, כמו אימון, בדיקה או אימות.
דוגמה ל-JSON Lines
{"imageGcsUri": "gs://bucket/filename1.jpeg", "boundingBoxAnnotations": [{"displayName": "Tomato", "xMin": "0.3", "yMin": "0.3", "xMax": "0.7", "yMax": "0.6"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
{"imageGcsUri": "gs://bucket/filename2.gif", "boundingBoxAnnotations": [{"displayName": "Tomato", "xMin": "0.8", "yMin": "0.2", "xMax": "1.0", "yMax": "0.4"},{"displayName": "Salad", "xMin": "0.0", "yMin": "0.0", "xMax": "1.0", "yMax": "1.0"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename3.png", "boundingBoxAnnotations": [{"displayName": "Baked goods", "xMin": "0.5", "yMin": "0.7", "xMax": "0.8", "yMax": "0.8"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename4.tiff", "boundingBoxAnnotations": [{"displayName": "Salad", "xMin": "0.1", "yMin": "0.2", "xMax": "0.8", "yMax": "0.9"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}}
...מערכי נתונים בטבלה
Agent Platform מעבירה נתונים טבלאיים לאפליקציית האימון בפורמט CSV או כ-URI לטבלה או לתצוגה ב-BigQuery. מידע נוסף על הפורמט והדרישות של מקור הנתונים זמין במאמר הכנת מקור הייבוא. למידע נוסף על סכימת מערך הנתונים, אפשר לעיין במערך הנתונים במסוף Google Cloud .
מערכי נתונים של טקסט
מערכי נתונים של טקסט מועברים לאפליקציית האימון בפורמט JSON Lines. בוחרים את הכרטיסייה של היעד של מערך הנתונים כדי לקבל מידע נוסף על האופן שבו Agent Platform מעצבת את מערך הנתונים.
סיווג עם תווית אחת
Agent Platform משתמשת בסכימה הבאה שזמינה לציבור הרחב כשהיא מייצאת מערך נתונים של סיווג טקסט עם תווית אחת. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"classificationAnnotation": {
"displayName": "label"
},
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"classificationAnnotation": {
"displayName": "label2"
},
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}סיווג עם כמה תוויות
Agent Platform משתמשת בסכימה הבאה שזמינה לכולם כשהיא מייצאת מערך נתונים של סיווג טקסט עם כמה תוויות. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"classificationAnnotations": [{
"displayName": "label1"
},{
"displayName": "label2"
}],
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"classificationAnnotations": [{
"displayName": "label2"
},{
"displayName": "label3"
}],
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}חילוץ ישויות
Agent Platform משתמשת בסכימה הבאה שזמינה לציבור כשמייצאים מערך נתונים של חילוץ ישויות. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml.
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"textSegmentAnnotations": [
{
"startOffset":number,
"endOffset":number,
"displayName": "label"
},
...
],
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"textSegmentAnnotations": [
{
"startOffset":number,
"endOffset":number,
"displayName": "label"
},
...
],
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}ניתוח סנטימנטים
Agent Platform משתמשת בסכימה הבאה שזמינה לציבור כשמייצאים מערך נתונים של ניתוח סנטימנט. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_sentiment_1.0.0.yaml
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"sentimentAnnotation": {
"sentiment": number,
"sentimentMax": number
},
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"sentimentAnnotation": {
"sentiment": number,
"sentimentMax": number
},
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}מערכי נתונים של סרטונים
מערכי נתונים של סרטונים מועברים לאפליקציית האימון בפורמט JSON Lines. בוחרים את הכרטיסייה של היעד של מערך הנתונים כדי לקבל מידע נוסף על האופן שבו Agent Platform מעצבת את מערך הנתונים.
זיהוי פעולות
Agent Platform משתמשת בסכימה הבאה שזמינה לציבור כשמייצאים מערך נתונים של זיהוי פעולות. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/video_action_recognition_io_format_1.0.0.yaml
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"videoGcsUri': "gs://bucket/filename.ext",
"timeSegments": [{
"startTime": "start_time_of_fully_annotated_segment",
"endTime": "end_time_of_segment"}],
"timeSegmentAnnotations": [{
"displayName": "LABEL",
"startTime": "start_time_of_segment",
"endTime": "end_time_of_segment"
}],
"dataItemResourceLabels": {
"ml_use": "train|test"
}
}הערה: פלחי הזמן כאן משמשים לחישוב חותמות הזמן של הפעולות. הערכים של startTime ו-endTime של timeSegmentAnnotations יכולים להיות שווים, והם מתאימים לפריימים המרכזיים של הפעולה.
דוגמה ל-JSON Lines
{"videoGcsUri": "gs://demo/video1.mp4", "timeSegmentAnnotations": [{"displayName": "cartwheel", "startTime": "1.0s", "endTime": "12.0s"}], "dataItemResourceLabels": {"ml_use": "training"}}
{"videoGcsUri": "gs://demo/video2.mp4", "timeSegmentAnnotations": [{"displayName": "swing", "startTime": "4.0s", "endTime": "9.0s"}], "dataItemResourceLabels": {"ml_use": "test"}}
...סיווג
Agent Platform משתמשת בסכימה הבאה שזמינה לכולם כשמייצאים מערך נתונים של סיווג. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/video_classification_io_format_1.0.0.yaml
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"videoGcsUri": "gs://bucket/filename.ext",
"timeSegmentAnnotations": [{
"displayName": "LABEL",
"startTime": "start_time_of_segment",
"endTime": "end_time_of_segment"
}],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "train|test"
}
}דוגמה ל-JSON Lines – סיווג סרטונים:
{"videoGcsUri": "gs://demo/video1.mp4", "timeSegmentAnnotations": [{"displayName": "cartwheel", "startTime": "1.0s", "endTime": "12.0s"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"videoGcsUri": "gs://demo/video2.mp4", "timeSegmentAnnotations": [{"displayName": "swing", "startTime": "4.0s", "endTime": "9.0s"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
...מעקב אחר אובייקטים
Agent Platform משתמשת בסכימה הבאה שזמינה לכולם כשהיא מייצאת מערך נתונים של מעקב אחר אובייקטים. הסכימה הזו קובעת את הפורמט של קובצי ייצוא הנתונים. המבנה של הסכימה מבוסס על סכימת OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/object_tracking_io_format_1.0.0.yaml
כל פריט נתונים במערך הנתונים המיוצא הוא בפורמט הבא. בדוגמה הזו יש מעברי שורה כדי שהקוד יהיה קריא.
{
"videoGcsUri": "gs://bucket/filename.ext",
"TemporalBoundingBoxAnnotations": [{
"displayName": "LABEL",
"xMin": "leftmost_coordinate_of_the_bounding box",
"xMax": "rightmost_coordinate_of_the_bounding box",
"yMin": "topmost_coordinate_of_the_bounding box",
"yMax": "bottommost_coordinate_of_the_bounding box",
"timeOffset": "timeframe_object-detected"
"instanceId": "instance_of_object
"annotationResourceLabels": "resource_labels"
}],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "train|test"
}
}דוגמה ל-JSON Lines
{'videoGcsUri': 'gs://demo-data/video1.mp4', 'temporal_bounding_box_annotations': [{'displayName': 'horse', 'instance_id': '-1', 'time_offset': '4.000000s', 'xMin': '0.668912', 'yMin': '0.560642', 'xMax': '1.000000', 'yMax': '1.000000'}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{'videoGcsUri': 'gs://demo-data/video2.mp4', 'temporal_bounding_box_annotations': [{'displayName': 'horse', 'instance_id': '-1', 'time_offset': '71.000000s', 'xMin': '0.679056', 'yMin': '0.070957', 'xMax': '0.801716', 'yMax': '0.290358'}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
...