Utilizzo di set di dati gestiti

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

  • Gestisci i set di dati in una posizione centrale.
  • Crea etichette e più set di annotazioni.
  • Crea attività per l'etichettatura umana utilizzando l'etichettatura dei dati integrata.
  • Monitora la derivazione dei modelli per la governance e lo sviluppo iterativo.
  • Confronta il rendimento 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 nell'applicazione di addestramento, devi creare il set di dati. Devi creare il set di dati e la pipeline di addestramento che utilizzi per l'addestramento nella stessa regione. Devi utilizzare una regione in cui sono disponibili le risorse Dataset disponibili.

Accedere a un set di dati dall'applicazione di addestramento

Quando crei una pipeline di addestramento serverless, 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 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 set di dati. I valori possibili includono: 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 dei dati di convalida o l'URI Cloud Storage del file di dati di convalida.
  • AIP_TEST_DATA_URI: l'URI BigQuery dei dati di test o l'URI Cloud Storage del file di dati di test.

Se AIP_DATA_FORMAT del set di dati è jsonl o csv, i valori URI dei dati fanno riferimento agli URI Cloud Storage, ad esempio gs://bucket_name/path/training-*. Per mantenere le dimensioni di ogni file di dati relativamente ridotte, 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 vengono forniti in formato con caratteri jolly.

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

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

Scopri di più sulla paginazione dei dati di BigQuery.

Formato del set di dati

Utilizza le seguenti sezioni 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 di immagini vengono passati all'applicazione di addestramento in JSON Lines 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 il seguente schema accessibile pubblicamente quando esporta un set di dati di classificazione delle immagini con etichetta singola. Questo schema determina il formato dei file di esportazione dei 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 interruzioni di riga per una maggiore 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 sui campi:

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

Esempio di 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"}}
...

Classificazione con più etichette

Vertex AI utilizza il seguente schema accessibile pubblicamente quando esporta un set di dati di classificazione delle immagini con più etichette. Questo schema determina il formato 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 una maggiore 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 sui campi:

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

Esempio di 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"}}
...

Rilevamento di oggetti

Vertex AI utilizza il seguente schema accessibile pubblicamente quando esporta un set di dati di rilevamento di oggetti. Questo schema determina il formato dei file di esportazione dei 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 interruzioni di riga per una maggiore 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 sui campi:

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

Esempio di 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"}}
...

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 saperne di più sul formato e sui requisiti dell'origine dati, consulta Preparare l'origine di importazione. Per ulteriori informazioni sullo schema del set di dati, consulta il set di dati nella Google Cloud console.

Set di dati di testo

I set di dati di testo 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.

Classificazione con etichetta singola

Vertex AI utilizza il seguente schema accessibile pubblicamente quando esporta un set di dati di classificazione del testo con etichetta singola. Questo schema determina 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 di dati nel set di dati esportato utilizza il seguente formato. Questo esempio include interruzioni di riga per una maggiore 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 quando esporta un set di dati di classificazione del testo con più etichette. Questo schema determina 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_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 una maggiore 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 esporta un set di dati di estrazione di entità. Questo schema determina il formato dei file di esportazione dei 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 interruzioni di riga per una maggiore 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 quando esporta un set di dati di analisi del sentiment. Questo schema determina il formato 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 una maggiore 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 di video

I set di dati di 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 esporta un set di dati di riconoscimento delle azioni. Questo schema determina il formato dei file di esportazione dei 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 interruzioni di riga per una maggiore 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 fotogramma chiave dell'azione.

Esempio di 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"}}
...

Classificazione

Vertex AI utilizza il seguente schema accessibile pubblicamente quando esporta un set di dati di classificazione. Questo schema determina il formato dei file di esportazione dei 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 interruzioni di riga per una maggiore 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 JSON Lines - 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 il seguente schema accessibile pubblicamente quando esporta un set di dati di monitoraggio degli oggetti. Questo schema determina il formato dei file di esportazione dei 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 interruzioni di riga per una maggiore 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"
	}
}

Esempio di 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"}}
...

Passaggi successivi