Utilizzo di set di dati gestiti

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

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

Prima di iniziare

Prima di poter utilizzare un set di dati gestito nella tua applicazione di addestramento, devi creare il set di dati. Devi creare il set di dati e la pipeline di addestramento da usare per l'addestramento nella stessa regione. Devi utilizzare una regione in cui sono disponibili le risorse Dataset.

Accedere a un set di dati dalla tua applicazione di addestramento

Quando crei una pipeline di addestramento personalizzata, puoi specificare che l'applicazione di addestramento utilizza un set di dati Vertex AI.

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

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

Se il AIP_DATA_FORMAT del tuo set di dati è jsonl o csv, i valori degli URI dei dati fanno riferimento agli URI Cloud Storage, come gs://bucket_name/path/training-*. Per mantenere le dimensioni di ogni file di dati relativamente piccole, Vertex AI suddivide il set di dati in più file. Poiché i dati di addestramento, convalida o test potrebbero essere suddivisi in più file, gli URI sono forniti in formato con caratteri jolly.

Scopri di più sul download di oggetti utilizzando gli esempi di codice di Cloud Storage.

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

Scopri di più sul paging tramite i dati BigQuery.

Formato set di dati

Utilizza le seguenti sezioni per saperne di più su come Vertex AI formatta i tuoi dati quando passi un set di dati alla tua applicazione di addestramento.

Set di dati di immagini

I set di dati delle immagini vengono trasmessi alla tua applicazione di addestramento in formato JSON Lines. Seleziona la scheda relativa all'obiettivo del tuo set di dati per scoprire di più su come Vertex AI formatta il tuo set di dati.

Classificazione con etichetta singola

Vertex AI utilizza il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati per la classificazione delle immagini con etichetta singola. Questo schema determina il formato dei file di esportazione dati. La struttura dello schema segue lo schema OpenAPI.

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

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include le interruzioni di riga per una migliore 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 immagine.
  • annotationResourceLabels: contiene un numero qualsiasi di coppie chiave/valore. Vertex AI utilizza questo campo per specificare il set di annotazioni.
  • dataItemResourceLabels: contiene un numero qualsiasi di coppie chiave/valore. Specifica l'utilizzo dell'elemento di dati da parte del machine learning, ad esempio 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 il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati per la classificazione delle immagini con più etichette. Questo schema determina il formato dei file di esportazione 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 le interruzioni di riga per una migliore 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 immagine.
  • annotationResourceLabels: contiene un numero qualsiasi di coppie chiave/valore. Vertex AI utilizza questo campo per specificare il set di annotazioni.
  • dataItemResourceLabels: contiene un numero qualsiasi di coppie chiave/valore. Specifica l'utilizzo dell'elemento di dati da parte del machine learning, ad esempio 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 il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati per il rilevamento di oggetti. Questo schema determina il formato dei file di esportazione dati. La struttura dello schema segue lo 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 le interruzioni di riga per una migliore 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 immagine.
  • annotationResourceLabels: contiene un numero qualsiasi di coppie chiave/valore. Vertex AI utilizza questo campo per specificare il set di annotazioni.
  • dataItemResourceLabels: contiene un numero qualsiasi di coppie chiave/valore. Specifica l'utilizzo dell'elemento di dati da parte del machine learning, ad esempio 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 trasmette dati tabulari alla tua 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 Preparazione dell'origine di importazione. Per ulteriori informazioni sullo schema del set di dati, fai riferimento al 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 all'obiettivo del tuo set di dati per scoprire di più su come Vertex AI formatta il tuo set di dati.

Classificazione con etichetta singola

Vertex AI utilizza il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati per la classificazione del testo con etichetta singola. Questo schema determina il formato dei file di esportazione 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 di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include le interruzioni di riga per una migliore 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 il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati per la classificazione del testo con più etichette. Questo schema determina il formato dei file di esportazione dati. La struttura dello schema segue lo 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 le interruzioni di riga per una migliore 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 durante l'esportazione di un set di dati per l'estrazione delle entità. Questo schema determina il formato dei file di esportazione dati. La struttura dello schema segue lo 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 le interruzioni di riga per una migliore 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 il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati di analisi del sentiment. Questo schema determina il formato dei file di esportazione 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 le interruzioni di riga per una migliore 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 nel formato JSON Lines. Seleziona la scheda relativa all'obiettivo del tuo set di dati per scoprire di più su come Vertex AI formatta il tuo set di dati.

Riconoscimento delle azioni

Vertex AI utilizza il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati di riconoscimento delle azioni. Questo schema determina il formato dei file di esportazione dati. La struttura dello schema segue lo 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 le interruzioni di riga per una migliore 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 vengono utilizzati per calcolare i timestamp delle azioni. startTime e endTime di timeSegmentAnnotations possono essere uguali e corrispondono al frame 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 durante l'esportazione di un set di dati di classificazione. Questo schema determina il formato dei file di esportazione dati. La struttura dello schema segue lo schema OpenAPI.

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

Ogni elemento di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include le interruzioni di riga per una migliore 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"
	}
}

Esempio di righe JSON - Classificazione di 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 il seguente schema accessibile pubblicamente durante l'esportazione di un set di dati di monitoraggio degli oggetti. Questo schema determina il formato dei file di esportazione dati. La struttura dello schema segue lo 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 le interruzioni di riga per una migliore 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