๊ด€๋ฆฌํ˜• ๋ฐ์ดํ„ฐ ์„ธํŠธ ์‚ฌ์šฉ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Vertex AI ๊ด€๋ฆฌํ˜• ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ด€๋ฆฌํ˜• ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์ค‘์•™ ์œ„์น˜์—์„œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ๋ฒจ ๋ฐ ์—ฌ๋Ÿฌ ์ฃผ์„ ์„ธํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ๋ผ๋ฒจ ์ง€์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™ ๋ผ๋ฒจ๋ง ์ž‘์—…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฐ ๋ฐ˜๋ณต ๊ฐœ๋ฐœ์˜ ๋ชจ๋ธ ๊ณ„๋ณด๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ AutoML๊ณผ ์ปค์Šคํ…€ ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผœ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ํ†ต๊ณ„ ๋ฐ ์‹œ๊ฐํ™”๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต, ํ…Œ์ŠคํŠธ, ๊ฒ€์ฆ ์„ธํŠธ๋กœ ์ž๋™ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€๋ฆฌํ˜• ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ์™€ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์€ ๊ฐ™์€ ๋ฆฌ์ „์— ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Dataset ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ „์„ ์ด์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์•ก์„ธ์Šค

์ปค์Šคํ…€ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ ๋งŒ๋“ค ๋•Œ ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Vertex AI ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Ÿฐํƒ€์ž„ ์‹œ Vertex AI๋Š” ํ•™์Šต ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋‹ค์Œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

  • AIP_DATA_FORMAT: ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ํ˜•์‹์ž…๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ jsonl, csv, ๋˜๋Š” bigquery์ž…๋‹ˆ๋‹ค.
  • AIP_TRAINING_DATA_URI: ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ BigQuery URI ๋˜๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ ํŒŒ์ผ์˜ Cloud Storage URI์ž…๋‹ˆ๋‹ค.
  • AIP_VALIDATION_DATA_URI: ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ์ดํ„ฐ์˜ BigQuery URI ๋˜๋Š” ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์˜ Cloud Storage URI์ž…๋‹ˆ๋‹ค.
  • AIP_TEST_DATA_URI: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ BigQuery URI ๋˜๋Š” ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์˜ Cloud Storage URI์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ AIP_DATA_FORMAT์ด jsonl ๋˜๋Š” csv์ด๋ฉด ๋ฐ์ดํ„ฐ URI ๊ฐ’์€ gs://bucket_name/path/training-* ๊ฐ™์€ Cloud Storage URI๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ต์  ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Vertex AI๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต, ๊ฒ€์ฆ, ๋˜๋Š” ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋ถ„ํ• ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— URI๋Š” ์™€์ผ๋“œ ์นด๋“œ ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Cloud Storage ์ฝ”๋“œ ์ƒ˜ํ”Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

AIP_DATA_FORMAT์ด bigquery์ด๋ฉด ๋ฐ์ดํ„ฐ URI ๊ฐ’์€ bq://project.dataset.table์™€ ๊ฐ™์€ BigQuery URI๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

BigQuery ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•œ ํŽ˜์ด์ง• ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

๋ฐ์ดํ„ฐ ์„ธํŠธ ํ˜•์‹

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” Vertex AI๊ฐ€ ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ์„ธํŠธ

์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” JSON Line ํ˜•์‹์œผ๋กœ ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ชฉํ‘œ์— ๋Œ€ํ•œ ํƒญ์„ ์„ ํƒํ•˜์—ฌ Vertex AI๊ฐ€ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

๋‹จ์ผ ๋ผ๋ฒจ ๋ถ„๋ฅ˜

Vertex AI๋Š” ๋‹จ์ผ ๋ผ๋ฒจ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” OpenAPI ์Šคํ‚ค๋งˆ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

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

๋‚ด๋ณด๋‚ธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๊ฐ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์€ ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—๋Š” ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ค„๋ฐ”๊ฟˆ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.


{
  "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: ์ด ์ด๋ฏธ์ง€์˜ Cloud Storage URI์ž…๋‹ˆ๋‹ค.
  • annotationResourceLabels: ๋‹ค์ˆ˜์˜ ํ‚ค-๊ฐ’ ๋ฌธ์ž์—ด ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. Vertex AI๋Š” ์ด ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์„ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • dataItemResourceLabels - ๋‹ค์ˆ˜์˜ ํ‚ค-๊ฐ’ ๋ฌธ์ž์—ด ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต, ํ…Œ์ŠคํŠธ, ๊ฒ€์ฆ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์˜ ๋จธ์‹ ๋Ÿฌ๋‹ ์‚ฌ์šฉ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

JSON Line ์˜ˆ์‹œ


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

๋ฉ€ํ‹ฐ ๋ผ๋ฒจ ๋ถ„๋ฅ˜

Vertex AI๋Š” ๋‹ค์ค‘ ๋ผ๋ฒจ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” OpenAPI ์Šคํ‚ค๋งˆ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

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

๋‚ด๋ณด๋‚ธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๊ฐ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์€ ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—๋Š” ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ค„๋ฐ”๊ฟˆ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

{
  "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: ์ด ์ด๋ฏธ์ง€์˜ Cloud Storage URI์ž…๋‹ˆ๋‹ค.
  • annotationResourceLabels: ๋‹ค์ˆ˜์˜ ํ‚ค-๊ฐ’ ๋ฌธ์ž์—ด ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. Vertex AI๋Š” ์ด ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์„ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • dataItemResourceLabels - ๋‹ค์ˆ˜์˜ ํ‚ค-๊ฐ’ ๋ฌธ์ž์—ด ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต, ํ…Œ์ŠคํŠธ, ๊ฒ€์ฆ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์˜ ๋จธ์‹ ๋Ÿฌ๋‹ ์‚ฌ์šฉ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

JSON Line ์˜ˆ์‹œ


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

๊ฐ์ฒด ๊ฐ์ง€

Vertex AI๋Š” ๊ฐ์ฒด ๊ฐ์ง€ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” 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: ์ด ์ด๋ฏธ์ง€์˜ Cloud Storage URI์ž…๋‹ˆ๋‹ค.
  • annotationResourceLabels: ๋‹ค์ˆ˜์˜ ํ‚ค-๊ฐ’ ๋ฌธ์ž์—ด ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. Vertex AI๋Š” ์ด ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์„ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • dataItemResourceLabels - ๋‹ค์ˆ˜์˜ ํ‚ค-๊ฐ’ ๋ฌธ์ž์—ด ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต, ํ…Œ์ŠคํŠธ, ๊ฒ€์ฆ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์˜ ๋จธ์‹ ๋Ÿฌ๋‹ ์‚ฌ์šฉ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

JSON Line ์˜ˆ์‹œ


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

ํ…Œ์ด๋ธ” ํ˜•์‹ ๋ฐ์ดํ„ฐ ์„ธํŠธ

Vertex AI๋Š” ํ…Œ์ด๋ธ” ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ CSV ํ˜•์‹์œผ๋กœ ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ BigQuery ํ…Œ์ด๋ธ” ๋˜๋Š” ๋ทฐ์— URI๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์†Œ์Šค ํ˜•์‹ ๋ฐ ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ€์ ธ์˜ค๊ธฐ ์†Œ์Šค ์ค€๋น„๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ฐ์ดํ„ฐ ์„ธํŠธ ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google Cloud ์ฝ˜์†”์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์„ธํŠธ

ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” JSON Line ํ˜•์‹์œผ๋กœ ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ชฉํ‘œ์— ๋Œ€ํ•œ ํƒญ์„ ์„ ํƒํ•˜์—ฌ Vertex AI๊ฐ€ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

๋‹จ์ผ ๋ผ๋ฒจ ๋ถ„๋ฅ˜

Vertex AI๋Š” ๋‹จ์ผ ๋ผ๋ฒจ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” OpenAPI ์Šคํ‚ค๋งˆ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

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

๋‚ด๋ณด๋‚ธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๊ฐ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์€ ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—๋Š” ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ค„๋ฐ”๊ฟˆ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

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

๋ฉ€ํ‹ฐ ๋ผ๋ฒจ ๋ถ„๋ฅ˜

Vertex AI๋Š” ๋‹ค์ค‘ ๋ผ๋ฒจ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” OpenAPI ์Šคํ‚ค๋งˆ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

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

๋‚ด๋ณด๋‚ธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๊ฐ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์€ ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—๋Š” ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ค„๋ฐ”๊ฟˆ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

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

ํ•ญ๋ชฉ ์ถ”์ถœ

Vertex AI๋Š” ํ•ญ๋ชฉ ์ถ”์ถœ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” 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"
    }
}

๊ฐ์ • ๋ถ„์„

Vertex AI๋Š” ๊ฐ์ • ๋ถ„์„ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” 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 ํ˜•์‹์œผ๋กœ ํ•™์Šต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ชฉํ‘œ์— ๋Œ€ํ•œ ํƒญ์„ ์„ ํƒํ•˜์—ฌ Vertex AI๊ฐ€ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

๋™์ž‘ ์ธ์‹

Vertex AI๋Š” ์ž‘์—… ์ธ์‹ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” 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"
  }
}

์ฐธ๊ณ : ์—ฌ๊ธฐ์„œ ์ž‘์—… ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. timeSegmentAnnotations์˜ startTime ๋ฐ endTime์€ ๋™์ผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž‘์—…์˜ ํ‚ค ํ”„๋ ˆ์ž„์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

JSON Line ์˜ˆ์‹œ


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

๋ถ„๋ฅ˜

Vertex AI๋Š” ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” 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 Line ์˜ˆ์‹œ - ๋™์˜์ƒ ๋ถ„๋ฅ˜


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

๊ฐ์ฒด ์ถ”์ 

Vertex AI๋Š” ๊ฐ์ฒด ์ถ”์  ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ผ ๋•Œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ์˜ ๊ตฌ์กฐ๋Š” 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 Line ์˜ˆ์‹œ


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

๋‹ค์Œ ๋‹จ๊ณ„