Vertex AI를 사용하면 Dataset
리소스에서 메타데이터 및 주석 세트를 내보낼 수 있습니다. 이 기능은 주석 변경, 추가 또는 삭제로 구성된 특정 컬렉션의 기록을 유지하려는 경우에 유용할 수 있습니다.
Dataset
를 내보내면 Vertex AI에서 Dataset
의 메타데이터와 주석이 포함된 JSON Lines 파일을 하나 이상 만들고 이러한 JSON Lines 파일을 선택한 Cloud Storage 디렉터리에 저장합니다.
이미지, 텍스트, 동영상 Dataset
리소스를 내보낼 수 있습니다. 테이블 형식 Dataset
리소스는 내보낼 수 없습니다.
Dataset
를 내보내면 Dataset
가 기반으로 하는 이미지, 텍스트 또는 동영상 데이터의 추가 사본이 생성되지 않습니다. 내보내기 프로세스에 의해 생성된 JSON Lines 파일에는 데이터를 Dataset
로 가져올 때 지정한 데이터의 원래 Cloud Storage URI가 포함됩니다.
Google Cloud 콘솔 또는 API를 사용하여 Dataset
내보내기
Google Cloud Console 또는 Vertex AI API를 사용하여 Dataset
를 내보낼 수 있습니다.
해당 탭의 단계를 따르세요.
콘솔
Google Cloud 콘솔의 Vertex AI 섹션에서 데이터 세트 페이지로 이동합니다.
리전 드롭다운 목록에서
Dataset
가 저장된 위치를 선택합니다.Dataset
행을 찾습니다. 모든 주석 세트 또는 특정 주석 세트의 메타데이터와 주석을 내보낼 수 있습니다.Dataset
의 모든 주석 세트에 대한 메타데이터 및 주석을 내보내려면 더보기 를 클릭한 다음 데이터 세트 내보내기를 클릭합니다.그러면 Vertex AI에 각 주석 세트의 JSON Lines 파일 집합을 만들도록 지시합니다.
특정 주석 세트의 메타데이터 및 주석을 내보내려면 다음을 수행합니다.
노드 확장
을 클릭하여Dataset
의 각 주석 세트에 대한 행을 표시합니다.내보낼 주석 세트의 행에서 더보기
를 클릭한 다음 주석 세트 내보내기를 클릭합니다.
그러면 Vertex AI에 지정한 주석 세트의 JSON Lines 파일 집합을 만들도록 지시합니다.
데이터 내보내기 대화상자에서 Vertex AI에서 내보낸 JSON Lines 파일을 저장할 Cloud Storage 디렉터리를 입력합니다. 내보내기를 클릭합니다.
REST
Dataset
ID 가져오기
Dataset
를 내보내려면 Dataset
의 숫자 ID를 알아야 합니다. Dataset
의 표시 이름은 알지만 ID를 모르는 경우API를 사용해 ID를 가져오는 방법을 알아보려면 다음 섹션을 참조하세요.
표시 이름에서 데이터 세트 ID 가져오기
요청 데이터를 사용하기 전에 다음을 바꿉니다.
LOCATION:
Dataset
가 저장된 위치. 예를 들면us-central1
입니다.PROJECT_ID: 프로젝트 ID
DATASET_DISPLAY_NAME:
Dataset
의 표시 이름
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME" | Select-Object -Expand Content
다음 예시 응답이 ...
로 잘려 Dataset
의 ID를 찾을 수 있는 위치를 강조합니다. DATASET_ID 자리에 있는 숫자입니다.
{ "datasets": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID", "displayName": "DATASET_DISPLAY_NAME", ... } ] }
또는 Google Cloud 콘솔에서 Dataset
의 ID를 가져올 수 있습니다. Vertex AI 데이터 세트 페이지로 이동하여 ID 열에서 이 값을 찾으세요.
하나 이상의 주석 세트 내보내기
요청 데이터를 사용하기 전에 다음을 바꿉니다.
LOCATION:
Dataset
가 저장된 위치. 예를 들면us-central1
입니다.PROJECT_ID: 프로젝트 ID
DATASET_ID:
Dataset
의 숫자 ID입니다.EXPORT_DIRECTORY: Vertex AI에서 내보낸 JSON Lines 파일을 저장할 디렉터리의 Cloud Storage URI(
gs://
로 시작)입니다. 액세스 권한이 있는 Cloud Storage 버킷에 있어야 하지만 디렉터리는 아직 존재하지 않아도 됩니다.FILTER: 내보낼 주석 세트를 결정하는 필터 문자열입니다.
모든
Dataset
의 주석 세트에 대한 메타데이터 및 주석을 내보내려면 FILTER를 빈 문자열로 바꾸거나 요청 본문의annotationsFilter
필드를 생략합니다. 그러면 Vertex AI에 각 주석 세트의 JSON Lines 파일 집합을 만들도록 지시합니다.특정 주석 세트의 메타데이터 및 주석을 내보내려면 FILTER를 다음으로 바꿉니다.
labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_ID
이렇게 하면 Vertex AI에 숫자 ID ANNOTATION_SET_ID가 있는 주석 세트의 JSON Lines 파일 집합을 만들도록 지시할 수 있습니다.
지정할 주석 세트의 숫자 ID를 찾으려면 Google Cloud 콘솔에서 주석 세트를 확인하고 URL에서
annotationSetId
다음에 있는 값을 찾습니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export
JSON 요청 본문:
{ "exportConfig": { "gcsDestination": { "outputUriPrefix": "EXPORT_DIRECTORY" }, "annotationsFilter": "FILTER" } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportDataOperationMetadata", "genericMetadata": { "createTime": "2021-02-17T00:54:58.827429Z", "updateTime": "2021-02-17T00:54:58.827429Z" }, "gcsOutputDirectory": "EXPORT_DIRECTORY/export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z" } }
일부 요청은 완료하는 데 시간이 걸리는 장기 실행 작업을 시작합니다. 이러한 요청은 작업 상태를 보거나 작업을 취소하는 데 사용할 수 있는 작업 이름을 반환합니다. Vertex AI는 장기 실행 작업을 호출하는 도우미 메서드를 제공합니다. 자세한 내용은 장기 실행 작업 다루기를 참조하세요.
내보낸 파일 설명
이전 섹션에서 지정한 내보내기 디렉터리 내에서 Vertex AI는 Dataset
의 표시 이름과 타임스탬프로 라벨이 지정된 새 디렉터리를 만듭니다. 예를 들면 export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z
입니다.
이 디렉터리 내에서 내보낸 각 주석 세트의 하위 디렉터리를 찾을 수 있습니다.
주석 세트마다 JSON Lines 파일을 하나 이상 찾을 수 있습니다. 각 JSON Lines 파일의 각 행은 주석 세트의 데이터 항목을 나타냅니다. 각 데이터 항목에는 데이터를 Vertex AI로 가져올 때 지정한 메타데이터 및 주석과 함께 데이터를 가져온 후 추가한 메타데이터와 주석이 포함될 수 있습니다. 예를 들어 Dataset
에 대한 데이터 라벨 지정을 요청했거나 Google Cloud 콘솔의 Dataset
에 라벨 또는 주석을 수동으로 추가한 경우 이 정보는 내보낸 파일에 포함됩니다.
주석 세트를 여러 개 내보내면 같은 데이터 항목이 JSON Lines 파일 여러 개에 나타날 수 있습니다. 예를 들어 주석 세트가 여러 개 있는 이미지 Dataset
를 내보내면 JSON Lines 파일 하나에는 단일 라벨 분류 주석이 있는 데이터 항목이 포함되고 다른 주석 세트의 또 다른 JSON Lines 파일에는 대신 객체 감지 주석이 있는 동일한 데이터 항목이 포함될 수 있습니다.
내보낸 파일 형식은 intoVertex AI로 데이터를 가져오는 데 사용할 수 있는 JSON Lines 가져오기 파일 형식과 일치합니다.
이 형식은 데이터 유형(이미지, 테이블 형식, 텍스트, 동영상)과 목표(예: 객체 추적, 항목 추출 또는 분류)에 따라 달라집니다.
예를 들어 단일 라벨 이미지 분류에 대한 주석 세트를 내보내는 경우 각 JSON Lines 파일의 각 행 형식은 이미지 데이터 준비의 설명대로 gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
스키마 파일에 따라 지정됩니다.
주석 세트 유형마다 다른 JSON Lines 형식에 대한 자세한 내용은 다음 가이드를 참조하세요.
다음 단계
- 데이터 라벨 지정 요청 방법 알아보기
- Vertex AI에서 데이터 세트 작업에 대해 자세히 알아보기