Google Cloud Storage 통합#
Google Cloud Storage 연동을 통해 GCS 버킷을 Ultralytics Platform에 연결할 수 있습니다. 이미지는 버킷에 그대로 유지되며 Platform이 제자리에서 색인하므로, 복사본을 업로드하지 않고도 YOLO 모델을 탐색, 어노테이션, 학습할 수 있습니다.
Google Cloud Storage 데이터셋에는 Pro 또는 Enterprise 플랜이 필요합니다. 무료 워크스페이스에서는 연동 항목이 표시되며 연결 시 업그레이드하라는 메시지가 나타납니다. 구독이 종료되어도 기존 Google Cloud Storage 데이터셋은 완전히 액세스할 수 있으며, 새로운 연결 및 가져오기에만 Pro 플랜이 필요합니다.
읽기 전용 서비스 계정 생성#
Platform은 스토리지에서 읽기만 수행하며 객체를 절대 작성, 수정 또는 삭제하지 않습니다. 읽기 전용 권한을 가진 전용 서비스 계정을 생성하세요:
- Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동하여 서비스 계정을 생성합니다.
- 연결하려는 버킷에 Storage Object Viewer (
roles/storage.objectViewer) 역할을 부여합니다. - 서비스 계정을 열고 키 > 키 추가 > 새 키 만들기를 선택한 다음, JSON을 선택하여 키 파일을 다운로드합니다.
roles/storage.objectViewer은(는) Platform이 데이터로 수행하는 모든 작업을 처리하지만, 프로젝트 내 버킷 목록을 조회하는 권한은 포함하지 않습니다. Platform이 자동으로 버킷을 찾도록 하려면 storage.buckets.list이(가) 포함된 역할을 추가하시고, 그렇지 않은 경우 연결할 때 각 버킷 이름을 수동으로 입력하세요.
Platform에 연결#
- **Settings > Integrations**로 이동하여 연동 목록에서 Google Cloud Storage를 선택합니다.
- 서비스 계정 JSON 키의 내용을 붙여넣습니다.
- Find available buckets를 클릭한 다음 연결할 버킷을 선택합니다. 서비스 계정에서 버킷 목록을 가져올 수 없는 경우, 알려진 버킷 이름을 수동으로 입력합니다.
- 연결을 클릭합니다. Platform은 저장하기 전에 선택한 각 버킷의 목록을 확인하고 읽을 수 있는지 검증합니다.

클라우드 스토리지를 연결하려면 워크스페이스 관리자 또는 소유자 role이(가) 필요합니다. 하나의 연결은 최대 50개의 버킷을 지원하며, 검색 기능은 서비스 계정이 볼 수 있는 버킷 중 최대 300개를 나열합니다.
브라우저는 붙여넣은 키 파일을 읽고 Platform에 필요한 세 가지 필드인 client_email, private_key, project_id만 전송합니다. JSON의 나머지 부분은 페이지 외부로 유출되지 않습니다.
나중에 동일한 서비스 계정을 다시 연결하면 기존 통합에 새로운 버킷이 추가됩니다. 저장된 자격 증명은 교체된 자격 증명으로 이미 연결된 모든 버킷을 읽을 수 있는 경우에만 대체됩니다.
자격 증명은 AES-256-GCM으로 암호화되어 저장되며, 브라우저로 반환되지 않고 학습 워크로드에도 노출되지 않습니다. 액세스를 취소하려면 Google Cloud에서 서비스 계정 키를 삭제하세요.
GCS 버킷에서 데이터셋 생성#
- New Dataset을 클릭하고 Cloud 탭을 엽니다.
- 연결된 버킷을 선택하고 데이터가 포함된 폴더를 탐색합니다.
- 폴더를 확인하고 데이터셋 이름을 조정한 뒤 데이터셋을 생성합니다.
플랫폼은 해당 폴더를 한 번 목록화하고 발견된 항목을 인덱싱합니다:
- 이미지 —
.jpg,.jpeg,.png,.webp,.avif객체는 제한된 요청을 통해 읽은 차원으로 색인됩니다. Platform은 원본 이미지의 두 번째 복사본을 유지하지 않습니다. - 라벨 — YOLO
.txt사이드카는 표준images/→labels/레이아웃으로 매칭되거나 동일 폴더 내의 형제 파일로 매칭되어 Platform 어노테이션으로 구문 분석됩니다. - Metadata — archive upload와 마찬가지로 YAML 파일이 클래스 이름과 포즈 키포인트 형태를 제공합니다. 폴더에 여러 개가 포함되어 있을 때는
data.yaml및data.yml가 선호됩니다. - Task — 라벨 파일의 샘플이 태스크를 결정하므로, 다이얼로그에서 선택한 태스크가 아니라 라벨 형태에 따라 세그멘테이션, 포즈, OBB 폴더가 인식됩니다.
- 분할(Splits) — 객체 경로의
train,val,test폴더 이름은 분할을 자동으로 할당합니다.
데이터셋은 다른 데이터셋처럼 작동합니다. 데이터셋을 탐색 및 어노테이션하고, 공개 또는 비공개로 설정하고, 팀과 공유하고, 관리형 학습을 통해 데이터셋으로 학습할 수 있습니다. 원본은 온디맨드로 스트리밍되며, 색인된 이미지는 Platform 스토리지 할당량을 소모하지 않습니다.
한 번의 가져오기로 최대 50,000개의 객체와 각각 최대 1MB 크기의 라벨 또는 YAML 파일을 인덱싱할 수 있습니다. 더 큰 버킷은 여러 데이터셋으로 나누어 처리해야 합니다.
모든 인덱싱된 이미지는 GCS 객체 생성 시점에 고정되며, 객체가 변경될 경우 Platform은 오류를 발생시킵니다. 기존 객체를 덮어쓰지 말고 새 객체를 추가하십시오.
가져오기 실패#
빈 폴더, 경로 오타, 권한 취소 등으로 인해 가져오기에 실패하면 데이터셋 페이지에 오류가 표시됩니다. 편집자는 가져오기 재시도를 클릭하여 저장된 버킷 및 폴더로 다시 시작하거나, 수정된 경로를 가리키는 새 데이터셋을 생성할 수 있습니다.
재시도는 중단된 지점을 재개하는 대신 폴더를 다시 나열합니다. 첫 번째 시도 이후 추가된 객체는 가져오고, 더 이상 존재하지 않는 객체는 데이터셋에서 제외됩니다.
학습#
관리형 학습은 일반적인 학습 플로우를 통해 작동합니다. 학습 실행 기간 동안 Platform 자체의 고정된 이미지 복사본을 사용하며, Google Cloud 자격 증명은 학습 워크로드에 절대 노출되지 않습니다.
연결 해제하기#
연결을 해제해도 Google Cloud의 어떠한 항목도 건드리지 않고 저장된 자격 증명만 삭제됩니다. 해당 버킷에서 빌드된 데이터셋은 클래스, 라벨, 주석과 함께 워크스페이스에 유지되지만, 동일한 서비스 계정이 다시 연결될 때까지 이미지를 로드하거나 미리 보거나 학습할 수 없습니다.
GET /api/integrations/buckets에서 반환된 통합 ID와 함께 REST API를 사용하세요:
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_IDfrom ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")대신 소스에서 액세스를 취소하려면 Google Cloud에서 서비스 계정 키를 삭제하세요.
현재 제한 사항#
GCS 기반 데이터셋은 현재 Platform 소유의 이미지 복사본이 필요한 기능(자동 어노테이션, 클러스터링 분석, 데이터셋 복제, 변경 불가능한 버전 스냅샷)을 제외합니다.
GCS 기반 데이터셋 또는 개별 이미지를 삭제하면 Platform의 참조만 제거되며, 사용자의 객체는 절대 영향을 받지 않습니다.
Amazon S3 및 Azure Blob Storage 연동도 참조하세요.