COCO 데이터세트 다운로드, 사전 처리, 업로드

COCO는 대규모 객체 감지, 세분화, 캡션 데이터세트입니다. COCO 데이터세트를 사용하는 머신러닝 모델은 다음과 같습니다.

  • Mask-RCNN
  • Retinanet
  • ShapeMask

Cloud TPU에서 모델을 학습시키기 전에 학습 데이터를 준비해야 합니다. TPU가 설정되어야 Cloud TPU 청구가 시작되므로, 권장사항은 Compute Engine VM을 설정하고 데이터세트를 준비한 다음 Cloud TPU를 설정하는 것입니다.

이 주제에서는 Cloud TPU에서 실행되는 모델의 COCO 데이터세트를 준비하는 방법을 설명합니다. Compute Engine VM을 만든 후에만 COCO 데이터세트를 준비할 수 있습니다. 데이터를 준비하는 데 사용된 스크립트인 download_and_preprocess_coco.sh는 VM에 설치하고 VM에서 실행해야 합니다.

download_and_preprocess_coco.sh 스크립트를 실행하여 데이터를 준비한 후 Cloud TPU를 불러와 교육을 실행할 수 있습니다.

COCO 데이터세트 준비

COCO 데이터세트는 Cloud Storage에 저장되므로, 만든 버킷 이름을 지정하여 스토리지 버킷 변수를 설정합니다.

(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco

download_and_preprocess_coco.sh 스크립트를 실행하여 COCO 데이터세트를 학습 애플리케이션에 필요한 TFRecords(*.tfrecord) 집합으로 변환합니다.

(vm)$ sudo bash /usr/share/tpu/tools/datasets/download_and_preprocess_coco.sh ./data/dir/coco

그러면 필수 라이브러리가 설치된 후 사전 처리 스크립트가 실행됩니다. 이 스크립트는 로컬 데이터 디렉터리의 *.tfrecord 파일 수를 출력합니다. COCO 다운로드 및 변환 스크립트는 완료되는 데 약 1시간 정도 걸립니다.

Cloud Storage 버킷에 데이터 복사

데이터를 TFRecords로 변환한 후 gsutil 명령어를 사용하여 로컬 스토리지에서 Cloud Storage 버킷으로 복사합니다. 주석 파일도 복사해야 합니다. 이 파일은 모델의 성능을 검증하는 데 유용합니다.

(vm)$ gsutil -m cp ./data/dir/coco/*.tfrecord ${DATA_DIR}
(vm)$ gsutil cp ./data/dir/coco/raw-data/annotations/*.json ${DATA_DIR}