다음 목표 섹션에는 데이터 요구사항, 입력/출력 스키마 파일, 스키마로 정의되는 데이터 가져오기 파일 형식(JSON Lines 및 CSV)이 포함되어 있습니다.
단일 라벨 분류
데이터 요구사항
- 학습 데이터: 모델을 학습시킬 때 다음과 같은 이미지 형식이 지원됩니다. Vertex AI API는 이렇게 가져온 이미지를 사전 처리한 후 모델을 학습시키는 데 사용되는 데이터로 제공합니다. 이미지당 최대 파일 크기는 30MB입니다.
- JPEG
- GIF
- PNG
- BMP
- ICO
- 예측 데이터: 모델에서 예측을 요청 (쿼리)할 때 지원되는 이미지 형식은 다음과 같습니다. 최대 파일 크기는 1.5MB입니다.
- JPEG
- GIF
- PNG
- WEBP
- BMP
- TIFF
- ICO
- AutoML 모델은 현실의 물체를 찍은 사진에 최적화되어 있습니다.
- 학습 데이터는 예측을 수행할 데이터와 최대한 유사해야 합니다. 예를 들어 사용 사례에 보안 카메라 영상처럼 흐릿한 저해상도 이미지가 포함되는 경우 흐릿한 저해상도 이미지로 학습 데이터를 구성해야 합니다. 또한 일반적으로 다양한 각도, 해상도, 배경으로 촬영한 학습 이미지를 제공하는 것이 좋습니다.
- 인간이 지정할 수 없는 라벨은 Vertex AI 모델도 일반적으로 예측할 수 없습니다. 따라서 이미지를 1~2초 보고 라벨을 지정하도록 사람을 학습시킬 수 없다면 이 모델도 그렇게 하도록 학습시킬 수 없습니다.
- 권장되는 학습 이미지 개수는 라벨당 1,000개입니다. 라벨당 최소 개수는 10개입니다. 이미지 하나에 라벨이 여러 개인 모델을 학습시키는 경우 일반적으로 라벨당 필요한 예의 수가 늘어나며, 결과 점수를 해석하기도 어려워집니다.
- 가장 흔한 라벨의 이미지가 가장 흔하지 않은 라벨의 이미지보다 최대 100배 많을 때 모델 효과가 가장 뛰어납니다. 빈도가 극히 낮은 라벨은 삭제하는 것이 좋습니다.
- 정의된 라벨 중 어느 것과도 일치하지 않는 None_of_the_above 라벨과 이미지를 포함하면 유용합니다. 예를 들어 꽃 데이터 세트의 경우 라벨을 지정한 품종에 속하지 않는 꽃의 이미지를 포함하고 None_of_the_above 라벨을 붙입니다.
AutoML 모델 학습에 사용되는 이미지 데이터를 위한 권장사항
다음 권장사항은 AutoML을 사용하여 모델을 학습시키는 데이터 세트에 적용됩니다.
YAML 스키마 파일
공개적으로 액세스할 수 있는 다음 스키마 파일을 사용하여 단일 라벨 이미지 분류 주석을 가져옵니다. 이 스키마 파일은 데이터 입력 파일의 형식을 지정합니다. 이 파일의 구조는 OpenAPI 스키마를 따릅니다.
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
전체 스키마 파일
title: ImageClassificationSingleLabel description: > Import and export format for importing/exporting images together with single-label classification annotation. Can be used in Dataset.import_schema_uri field. type: object required: - imageGcsUri properties: imageGcsUri: type: string description: > A Cloud Storage URI pointing to an image. Up to 30MB in size. Supported file mime types: `image/jpeg`, `image/gif`, `image/png`, `image/webp`, `image/bmp`, `image/tiff`, `image/vnd.microsoft.icon`. classificationAnnotation: type: object description: Single classification Annotation on the image. properties: displayName: type: string description: > It will be imported as/exported from AnnotationSpec's display name, i.e. the name of the label/class. annotationResourceLabels: description: Resource labels on the Annotation. type: object additionalProperties: type: string dataItemResourceLabels: description: Resource labels on the DataItem. type: object additionalProperties: type: string
입력 파일
JSON Lines
각 행의 JSON:
{ "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
- 유일한 필수 필드입니다.annotationResourceLabels
- 키-값 문자열 쌍을 포함할 수 있습니다. 시스템에 예약된 유일한 키-값 쌍은 다음과 같습니다.- 'aiplatform.googleapis.com/annotation_set_name': 'value'
여기서 value는 데이터 세트에 있는 기존 주석 집합의 표시 이름 중 하나입니다.
dataItemResourceLabels
- 키-값 문자열 쌍을 포함할 수 있습니다. 시스템에서 예약할 수 있는 유일한 키-값 쌍은 다음과 같이 데이터 항목의 머신러닝 사용 세트를 지정합니다.- 'aiplatform.googleapis.com/ml_use': 'training/test/validation'
JSON Lines 예시 - image_classification_single_label.jsonl
:
{"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"}} ...
CSV
CSV 형식:
[ML_USE],GCS_FILE_PATH,[LABEL]
ML_USE
(선택사항) - 모델을 학습시킬 때 데이터 분할 목적으로 사용됩니다. TRAINING, TEST, VALIDATION이 사용됩니다. 수동 데이터 분할에 대한 자세한 내용은 AutoML 모델에 대한 데이터 분할 정보를 참조하세요.GCS_FILE_PATH
- 이 필드에는 이미지에 대한 Cloud Storage URI가 포함됩니다. Cloud Storage URI는 대소문자를 구분합니다.LABEL
(선택사항). 라벨은 문자로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다.
CSV 예시 - image_classification_single_label.csv
:
test,gs://bucket/filename1.jpeg,daisy training,gs://bucket/filename2.gif,dandelion gs://bucket/filename3.png gs://bucket/filename4.bmp,sunflowers validation,gs://bucket/filename5.tiff,tulips ...
멀티 라벨 분류
데이터 요구사항
- 학습 데이터: 모델을 학습시킬 때 다음과 같은 이미지 형식이 지원됩니다. Vertex AI API는 이렇게 가져온 이미지를 사전 처리한 후 모델을 학습시키는 데 사용되는 데이터로 제공합니다. 이미지당 최대 파일 크기는 30MB입니다.
- JPEG
- GIF
- PNG
- BMP
- ICO
- 예측 데이터: 모델에서 예측을 요청 (쿼리)할 때 지원되는 이미지 형식은 다음과 같습니다. 최대 파일 크기는 1.5MB입니다.
- JPEG
- GIF
- PNG
- WEBP
- BMP
- TIFF
- ICO
- AutoML 모델은 현실의 물체를 찍은 사진에 최적화되어 있습니다.
- 학습 데이터는 예측을 수행할 데이터와 최대한 유사해야 합니다. 예를 들어 사용 사례에 보안 카메라 영상처럼 흐릿한 저해상도 이미지가 포함되는 경우 흐릿한 저해상도 이미지로 학습 데이터를 구성해야 합니다. 또한 일반적으로 다양한 각도, 해상도, 배경으로 촬영한 학습 이미지를 제공하는 것이 좋습니다.
- 인간이 지정할 수 없는 라벨은 Vertex AI 모델도 일반적으로 예측할 수 없습니다. 따라서 이미지를 1~2초 보고 라벨을 지정하도록 사람을 학습시킬 수 없다면 이 모델도 그렇게 하도록 학습시킬 수 없습니다.
- 권장되는 학습 이미지 개수는 라벨당 1,000개입니다. 라벨당 최소 개수는 10개입니다. 이미지 하나에 라벨이 여러 개인 모델을 학습시키는 경우 일반적으로 라벨당 필요한 예의 수가 늘어나며, 결과 점수를 해석하기도 어려워집니다.
- 가장 흔한 라벨의 이미지가 가장 흔하지 않은 라벨의 이미지보다 최대 100배 많을 때 모델 효과가 가장 뛰어납니다. 빈도가 극히 낮은 라벨은 삭제하는 것이 좋습니다.
- 정의된 라벨 중 어느 것과도 일치하지 않는 None_of_the_above 라벨과 이미지를 포함하면 유용합니다. 예를 들어 꽃 데이터 세트의 경우 라벨을 지정한 품종에 속하지 않는 꽃의 이미지를 포함하고 None_of_the_above 라벨을 붙입니다.
AutoML 모델 학습에 사용되는 이미지 데이터를 위한 권장사항
다음 권장사항은 AutoML을 사용하여 모델을 학습시키는 데이터 세트에 적용됩니다.
YAML 스키마 파일
공개적으로 액세스할 수 있는 다음 스키마 파일을 사용하여 멀티 라벨 이미지 분류 주석을 가져옵니다. 이 스키마 파일은 데이터 입력 파일의 형식을 지정합니다. 이 파일의 구조는 OpenAPI 스키마를 따릅니다.
전체 스키마 파일
title: ImageClassificationMultiLabel description: > Import and export format for importing/exporting images together with multi-label classification annotations. Can be used in Dataset.import_schema_uri field. type: object required: - imageGcsUri properties: imageGcsUri: type: string description: > A Cloud Storage URI pointing to an image. Up to 30MB in size. Supported file mime types: `image/jpeg`, `image/gif`, `image/png`, `image/webp`, `image/bmp`, `image/tiff`, `image/vnd.microsoft.icon`. classificationAnnotations: type: array description: Multiple classification Annotations on the image. items: type: object description: Classification annotation. properties: displayName: type: string description: > It will be imported as/exported from AnnotationSpec's display name, i.e. the name of the label/class. annotationResourceLabels: description: Resource labels on the Annotation. type: object additionalProperties: type: string dataItemResourceLabels: description: Resource labels on the DataItem. type: object additionalProperties: type: string
입력 파일
JSON Lines
각 행의 JSON:
{ "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
- 유일한 필수 필드입니다.annotationResourceLabels
- 키-값 문자열 쌍을 포함할 수 있습니다. 시스템에 예약된 유일한 키-값 쌍은 다음과 같습니다.- 'aiplatform.googleapis.com/annotation_set_name': 'value'
여기서 value는 데이터 세트에 있는 기존 주석 집합의 표시 이름 중 하나입니다.
dataItemResourceLabels
- 키-값 문자열 쌍을 포함할 수 있습니다. 시스템에서 예약할 수 있는 유일한 키-값 쌍은 다음과 같이 데이터 항목의 머신러닝 사용 세트를 지정합니다.- 'aiplatform.googleapis.com/ml_use': 'training/test/validation'
JSON Lines 예시 - image_classification_multi_label.jsonl
:
{"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"}} ...
CSV
CSV 형식:
[ML_USE],GCS_FILE_PATH,[LABEL1,LABEL2,...LABELn]
ML_USE
(선택사항) - 모델을 학습시킬 때 데이터 분할 목적으로 사용됩니다. TRAINING, TEST, VALIDATION이 사용됩니다. 수동 데이터 분할에 대한 자세한 내용은 AutoML 모델에 대한 데이터 분할 정보를 참조하세요.GCS_FILE_PATH
- 이 필드에는 이미지에 대한 Cloud Storage URI가 포함됩니다. Cloud Storage URI는 대소문자를 구분합니다.LABEL
(선택사항). 라벨은 문자로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다.
CSV 예시 - image_classification_multi_label.csv
:
test,gs://bucket/filename1.jpeg,daisy,full_shot training,gs://bucket/filename2.gif,dandelion,medium_shot gs://bucket/filename3.png gs://bucket/filename4.bmp,sunflowers,closeup validation,gs://bucket/filename5.tiff,tulips,extreme_closeup ...