Utilizzo di set di dati gestiti

Questa pagina mostra come utilizzare i set di dati gestiti da Vertex AI per addestrare personalizzati. I set di dati gestiti offrono i seguenti vantaggi:

  • Gestisci i tuoi set di dati in un'unica posizione.
  • Crea facilmente etichette e più set di annotazioni.
  • Crea attività per l'etichettatura umana utilizzando l'etichettatura dei dati integrata.
  • Tieni traccia della derivazione verso i modelli per lo sviluppo iterativo e la governance.
  • Confronta le prestazioni dei modelli addestrando modelli AutoML e personalizzati utilizzando gli stessi set di dati.
  • Genera statistiche e visualizzazioni dei dati.
  • Suddividere automaticamente i dati in set di addestramento, test e convalida.

Prima di iniziare

Prima di poter utilizzare un set di dati gestito nell'applicazione di addestramento, devi crearlo. Devi creare il set di dati e l'addestramento che utilizzi per l'addestramento nella stessa regione. Devi utilizzare una regione in cui sono disponibili risorse Dataset.

Accedi a un set di dati dall'applicazione di addestramento

Quando crei una pipeline di addestramento personalizzata, puoi specificare che la tua applicazione di addestramento utilizzi un set di dati Vertex AI.

In fase di runtime, Vertex AI passa i metadati relativi al set di dati al tuo di addestramento impostando le seguenti variabili di ambiente container di addestramento personalizzato.

  • AIP_DATA_FORMAT: il formato in cui viene esportato il set di dati. I possibili valori includono: jsonl, csv o bigquery.
  • AIP_TRAINING_DATA_URI: l'URI BigQuery dei dati di addestramento o l'URI Cloud Storage del file dei dati di addestramento.
  • AIP_VALIDATION_DATA_URI: l'URI BigQuery per i dati di convalida o l'URI Cloud Storage del file di dati di convalida.
  • AIP_TEST_DATA_URI: l'URI BigQuery per i dati di test o l'URI Cloud Storage del file di dati di test.

Se il valore AIP_DATA_FORMAT del set di dati è jsonl o csv, i valori dell'URI dei dati fanno riferimento agli URI di Cloud Storage, come gs://bucket_name/path/training-*. Per mantenere di ogni file di dati è relativamente piccolo, Vertex AI suddivide la dimensione in più file. Poiché i dati di addestramento, convalida o test possono essere suddivisi in più file, gli URI vengono forniti in formato jolly.

Scopri di più sul download degli oggetti utilizzando i sample di codice Cloud Storage.

Se AIP_DATA_FORMAT è bigquery, i valori URI dei dati fanno riferimento agli URI BigQuery, come bq://project.dataset.table.

Scopri di più sul paging dei dati di BigQuery.

Formato del set di dati

Consulta le sezioni seguenti per scoprire di più su come Vertex AI formatta i dati quando passa un set di dati all'applicazione di addestramento.

Set di dati di immagini

I set di dati delle immagini vengono passati all'applicazione di addestramento tramite le linee JSON formato. Seleziona la scheda relativa all'obiettivo del set di dati per scoprire di più su come Vertex AI formatta il set di dati.

Classificazione con etichetta singola

Vertex AI utilizza lo schema seguente accessibile pubblicamente per esportare un set di dati di classificazione delle immagini con una sola etichetta. Questo schema determina dei file di esportazione dei dati. La struttura dello schema segue Schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml

Ogni elemento dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per favorire la leggibilità.



{
  "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"
  }
}

Note sul campo:

  • imageGcsUri: l'URI Cloud Storage di questa illustrazione.
  • annotationResourceLabels: contiene un numero qualsiasi di coppie di stringhe chiave-valore. Vertex AI utilizza questo campo per specificare il set di annotazioni.
  • dataItemResourceLabels: contiene un numero qualsiasi di coppie di stringhe chiave-valore. Specifica l'utilizzo del modello dell'elemento dati, come addestramento, test o convalida.

Righe JSON di esempio



{"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"}}
...

Classificazione con più etichette

Vertex AI utilizza lo schema seguente accessibile pubblicamente per esportare un set di dati di classificazione delle immagini con più etichette. Questo schema determina dei file di esportazione dei dati. La struttura dello schema segue lo schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_multi_label_io_format_1.0.0.yaml

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per favorire la leggibilità.


{
  "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"
  }
}

Note sul campo:

  • imageGcsUri: l'URI Cloud Storage di questa illustrazione.
  • annotationResourceLabels: contiene un numero qualsiasi di coppie di stringhe chiave-valore. Vertex AI utilizza questo campo per specificare il set di annotazioni.
  • dataItemResourceLabels: contiene un numero qualsiasi di coppie di stringhe chiave-valore. Specifica l'utilizzo del modello dell'elemento dati, come addestramento, test o convalida.

Righe JSON di esempio



{"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"}}
...

Rilevamento di oggetti

Vertex AI utilizza lo schema seguente accessibile pubblicamente per esportare un set di dati di rilevamento degli oggetti. Questo schema determina dei file di esportazione dei dati. La struttura dello schema segue Schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/image_bounding_box_io_format_1.0.0.yaml

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per migliorare la leggibilità.



{
  "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"
  }
}

Note sul campo:

  • imageGcsUri: l'URI Cloud Storage di questa illustrazione.
  • annotationResourceLabels: contiene un numero qualsiasi di coppie di stringhe chiave-valore. Vertex AI utilizza questo campo per specificare il set di annotazioni.
  • dataItemResourceLabels: contiene un numero qualsiasi di coppie di stringhe chiave-valore. Specifica l'utilizzo del modello dell'elemento dati, come addestramento, test o convalida.

Righe JSON di esempio



{"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"}}
...

Set di dati tabulari

Vertex AI passa i dati tabulari all'applicazione di addestramento in formato CSV o come URI a una tabella o vista BigQuery. Per ulteriori informazioni sul formato e sui requisiti dell'origine dati, consulta Preparare l'origine di importazione. Per saperne di più sullo schema del set di dati, consulta il set di dati nella console Google Cloud.

Set di dati di testo

I set di dati di testo vengono passati all'applicazione di addestramento nel formato JSON Lines. Seleziona la scheda relativa allo scopo del set di dati per scoprire di più su come Vertex AI formatta il set di dati.

Classificazione con etichetta singola

Vertex AI utilizza lo schema seguente accessibile pubblicamente per esportare un set di dati di classificazione del testo con etichetta singola. Questo schema definisce il formato dei file di esportazione dei dati. La struttura dello schema segue lo schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_single_label_io_format_1.0.0.yaml

Ogni elemento dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per migliorare la leggibilità.

{
  "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"
  }
}

Classificazione con più etichette

Vertex AI utilizza lo schema seguente accessibile pubblicamente per esportare un set di dati di classificazione del testo con più etichette. Questo schema definisce il formato dei file di esportazione dei dati. La struttura dello schema segue Schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_multi_label_io_format_1.0.0.yaml

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per migliorare la leggibilità.

{
  "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"
  }
}

Estrazione di entità

Vertex AI utilizza il seguente schema accessibile pubblicamente quando esportando un set di dati di estrazione delle entità. Questo schema definisce il formato dei file di esportazione dei dati. La struttura dello schema segue Schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml.

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per migliorare la leggibilità.

{
    "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"
    }
}

Analisi del sentiment

Vertex AI utilizza lo schema seguente accessibile pubblicamente per esportare un set di dati di analisi del sentiment. Questo schema determina dei file di esportazione dei dati. La struttura dello schema segue lo schema OpenAPI.

gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_sentiment_1.0.0.yaml

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per migliorare la leggibilità.

{
  "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"
  }
}

Set di dati video

I set di dati video vengono passati all'applicazione di addestramento in formato JSON Lines. Seleziona la scheda relativa all'obiettivo del set di dati per scoprire di più su come Vertex AI formatta il set di dati.

Riconoscimento delle azioni

Vertex AI utilizza il seguente schema accessibile pubblicamente quando esportando un set di dati di riconoscimento delle azioni. Questo schema determina dei file di esportazione dei dati. La struttura dello schema segue Schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/video_action_recognition_io_format_1.0.0.yaml

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per favorire la leggibilità.



{
  "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"
  }
}

Nota: i segmenti di tempo qui sono utilizzati per calcolare i timestamp delle azioni. startTime e endTime di timeSegmentAnnotations possono essere uguali e corrispondono al fotogramma chiave dell'azione.

Righe JSON di esempio



{"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"}}
...

Classificazione

Vertex AI utilizza il seguente schema accessibile pubblicamente quando esportando un set di dati di classificazione. Questo schema determina dei file di esportazione dei dati. La struttura dello schema segue Schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/video_classification_io_format_1.0.0.yaml

Ogni elemento dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per migliorare la leggibilità.



{
	"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"
	}
}

Righe JSON di esempio - Classificazione dei video:



{"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"}}
...

Monitoraggio oggetti

Vertex AI utilizza lo schema seguente accessibile pubblicamente quando esporta un set di dati di monitoraggio degli oggetti. Questo schema determina dei file di esportazione dei dati. La struttura dello schema segue Schema OpenAPI.

gs://google-cloud-aiplatform/schema/dataset/ioformat/object_tracking_io_format_1.0.0.yaml

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per favorire la leggibilità.



{
	"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"
	}
}

Righe JSON di esempio



{'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"}}
...

Passaggi successivi