Menggunakan set data terkelola

Halaman ini menunjukkan cara menggunakan set data yang dikelola Vertex AI untuk melatih model kustom Anda. Set data terkelola menawarkan manfaat berikut:

  • Mengelola set data Anda di satu lokasi terpusat.
  • Membuat label dan beberapa kumpulan anotasi dengan mudah.
  • Membuat tugas untuk pelabelan manusia menggunakan pelabelan data terintegrasi.
  • Melacak silsilah ke model untuk tata kelola dan pengembangan iteratif.
  • Membandingkan performa model dengan melatih model AutoML dan kustom menggunakan set data yang sama.
  • Membuat statistik dan visualisasi data.
  • Memisahkan data secara otomatis menjadi set pelatihan, pengujian, dan validasi.

Sebelum memulai

Sebelum dapat menggunakan set data terkelola di aplikasi pelatihan, Anda harus membuat set data. Anda harus membuat set data dan pipeline pelatihan yang digunakan untuk pelatihan di region yang sama. Anda harus menggunakan wilayah tempat resource Dataset tersedia.

Mengakses set data dari aplikasi pelatihan

Saat membuat pipeline pelatihan kustom, Anda dapat menentukan bahwa aplikasi pelatihan Anda menggunakan set data Vertex AI.

Saat runtime, Vertex AI meneruskan metadata tentang set data Anda ke aplikasi pelatihan dengan menetapkan variabel lingkungan berikut di container pelatihan.

  • AIP_DATA_FORMAT: Format tempat set data Anda diekspor. Nilai yang memungkinkan mencakup: jsonl, csv, atau bigquery.
  • AIP_TRAINING_DATA_URI: BigQuery URI data pelatihan atau Cloud Storage URI file data pelatihan Anda.
  • AIP_VALIDATION_DATA_URI: BigQuery URI untuk data validasi Anda atau Cloud Storage URI dari file data validasi Anda.
  • AIP_TEST_DATA_URI: BigQuery URI untuk data pengujian Anda atau Cloud Storage URI dari file data pengujian Anda.

Jika AIP_DATA_FORMAT set data Anda adalah jsonl atau csv, nilai URI data akan merujuk ke Cloud Storage URI, seperti gs://bucket_name/path/training-*. Agar ukuran setiap file data tetap relatif kecil, Vertex AI membagi set data Anda menjadi beberapa file. Karena data pelatihan, validasi, atau pengujian Anda dapat dibagi menjadi beberapa file, URI diberikan dalam format karakter pengganti.

Pelajari lebih lanjut cara mendownload objek menggunakan contoh kode Cloud Storage.

Jika AIP_DATA_FORMAT Anda adalah bigquery, nilai URI data akan merujuk ke URI BigQuery, seperti bq://project.dataset.table.

Pelajari paging melalui data BigQuery lebih lanjut.

Format set data

Gunakan bagian berikut untuk mempelajari lebih lanjut cara Vertex AI memformat data Anda saat meneruskan set data ke aplikasi pelatihan.

Set data image

Set data image diteruskan ke aplikasi pelatihan Anda dalam format JSON Lines. Pilih tab untuk tujuan set data Anda, guna mempelajari lebih lanjut cara Vertex AI memformat set data Anda.

Klasifikasi label tunggal

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data klasifikasi image label tunggal. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.


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

Catatan kolom:

  • imageGcsUri: Cloud Storage URI image ini.
  • annotationResourceLabels: Berisi berapa pun pasangan string nilai kunci. Vertex AI menggunakan kolom ini untuk menentukan kumpulan anotasi.
  • dataItemResourceLabels - Berisi berapa pun pasangan string nilai kunci. Menentukan penggunaan item data oleh machine learning, seperti pelatihan, pengujian, atau validasi.

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

Klasifikasi multi-label

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data klasifikasi image multi-label. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.


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

Catatan kolom:

  • imageGcsUri: Cloud Storage URI image ini.
  • annotationResourceLabels: Berisi berapa pun pasangan string nilai kunci. Vertex AI menggunakan kolom ini untuk menentukan kumpulan anotasi.
  • dataItemResourceLabels - Berisi berapa pun pasangan string nilai kunci. Menentukan penggunaan item data oleh machine learning, seperti pelatihan, pengujian, atau validasi.

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

Deteksi objek

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data deteksi objek. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.


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

Catatan kolom:

  • imageGcsUri: Cloud Storage URI image ini.
  • annotationResourceLabels: Berisi berapa pun pasangan string nilai kunci. Vertex AI menggunakan kolom ini untuk menentukan kumpulan anotasi.
  • dataItemResourceLabels - Berisi berapa pun pasangan string nilai kunci. Menentukan penggunaan item data oleh machine learning, seperti pelatihan, pengujian, atau validasi.

Contoh 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 data tabel

Vertex AI meneruskan data tabel ke aplikasi pelatihan Anda dalam format CSV atau sebagai URI ke tabel atau tampilan BigQuery. Untuk informasi selengkapnya tentang format dan persyaratan sumber data, lihat Menyiapkan sumber impor Anda. Lihat set data di konsol Google Cloud untuk mengetahui informasi skema set data lebih lanjut.

Set data teks

Set data teks diteruskan ke aplikasi pelatihan Anda dalam format JSON Lines. Pilih tab untuk tujuan set data Anda, guna mempelajari lebih lanjut cara Vertex AI memformat set data Anda.

Klasifikasi label tunggal

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data klasifikasi teks label tunggal. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.

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

Klasifikasi multi-label

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data klasifikasi teks multi-label. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.

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

Ekstraksi entity

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data ekstraksi entity. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.

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

Analisis sentimen

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data analisis sentimen. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.

{
  "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 data video

Set data video diteruskan ke aplikasi pelatihan Anda dalam format JSON Lines. Pilih tab untuk tujuan set data Anda, guna mempelajari lebih lanjut cara Vertex AI memformat set data Anda.

Pengenalan tindakan

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data pengenalan tindakan. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.


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

Catatan: Segmen waktu di sini digunakan untuk menghitung stempel waktu tindakan. startTime dan endTime dari timeSegmentAnnotations bisa sama dan sesuai dengan frame utama tindakan.

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

Klasifikasi

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data klasifikasi. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.


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

Contoh JSON Lines - Klasifikasi 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"}}
...

Pelacakan objek

Vertex AI menggunakan skema yang dapat diakses secara publik berikut saat mengekspor set data pelacakan objek. Skema ini menentukan format file ekspor data. Struktur skema mengikuti skema OpenAPI.

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

Setiap item data dalam set data yang diekspor menggunakan format berikut. Contoh ini menyertakan baris baru agar lebih mudah dibaca.


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

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

Langkah selanjutnya