COCO 데이터 세트 다운로드, 사전 처리, 업로드
COCO는 대규모 객체 감지, 세분화, 캡션 데이터 세트입니다. COCO 데이터 세트를 사용하는 머신러닝 모델은 다음과 같습니다.
- Mask-RCNN
- Retinanet
- ShapeMask
Cloud TPU에서 모델을 학습시키기 전에 학습 데이터를 준비해야 합니다.
이 문서에서는 Cloud TPU에서 실행되는 모델의 COCO 데이터 세트를 준비하는 방법을 설명합니다. Compute Engine VM을 만든 후에만 COCO 데이터 세트를 준비할 수 있습니다. 데이터를 준비하는 데 사용된 스크립트인
download_and_preprocess_coco.sh
는
VM에 설치하고 VM에서 실행해야 합니다.
download_and_preprocess_coco.sh
스크립트를 실행하여 데이터를 준비한 후 Cloud TPU를 불러와 교육을 실행할 수 있습니다.
COCO 데이터 세트를 완전히 다운로드하고 사전 처리한 후 Cloud Storage 버킷에 업로드하려면 약 2시간 정도 걸립니다.
Cloud Shell에서 프로젝트 ID로
gcloud
를 구성합니다.export PROJECT_ID=project-id gcloud config set project ${PROJECT_ID}
Cloud Shell에서 다음 명령어를 사용하여 Cloud Storage 버킷을 만듭니다.
gcloud storage buckets create gs://bucket-name --project=${PROJECT_ID} --location=us-central2
데이터 세트를 다운로드하고 사전 처리하기 위해 Compute Engine VM을 만듭니다. 자세한 내용은 Compute Engine 인스턴스 만들기 및 시작을 참고하세요.
$ gcloud compute instances create vm-name \ --zone=us-central2-b \ --image-family=ubuntu-2204-lts \ --image-project=ubuntu-os-cloud \ --machine-type=n1-standard-16 \ --boot-disk-size=300GB
SSH를 사용하여 Compute Engine VM에 연결합니다.
$ gcloud compute ssh vm-name --zone=us-central2-b
VM에 연결하면 셸 프롬프트가
username@projectname
에서username@vm-name
으로 변경됩니다.앞에서 만든 스토리지 버킷용 변수와 스토리지 버킷에 학습 데이터(
DATA_DIR
)가 포함된 디렉터리용 변수를 설정합니다.(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco
데이터를 사전 처리하는 데 필요한 패키지를 설치합니다.
(vm)$ sudo apt-get update && \ sudo apt-get install python3-pip && \ sudo apt-get install -y python3-tk && \ pip3 install --user Cython matplotlib opencv-python-headless pyyaml Pillow numpy absl-py tensorflow && \ pip3 install --user "git+https://github.com/cocodataset/cocoapi#egg=pycocotools&subdirectory=PythonAPI"
download_and_preprocess_coco.sh
스크립트를 실행하여 COCO 데이터 세트를 학습 애플리케이션에 필요한 TFRecord 파일(*.tfrecord
) 집합으로 변환합니다.(vm)$ git clone https://github.com/tensorflow/tpu.git (vm)$ sudo bash tpu/tools/datasets/download_and_preprocess_coco.sh ./data/dir/coco
그러면 필수 라이브러리가 설치된 후 사전 처리 스크립트가 실행됩니다. 이 스크립트는 로컬 데이터 디렉터리에
*.tfrecord
파일을 출력합니다. COCO 다운로드 및 변환 스크립트는 완료되는 데 약 1시간 정도 걸립니다.Cloud Storage 버킷에 데이터 복사
데이터를 TFRecord 형식으로 변환한 후 gcloud CLI를 사용하여 로컬 스토리지에서 Cloud Storage 버킷으로 데이터를 복사합니다. 주석 파일도 복사해야 합니다. 이 파일은 모델의 성능을 검증하는 데 유용합니다.
(vm)$ gcloud storage cp ./data/dir/coco/*.tfrecord ${DATA_DIR} (vm)$ gcloud storage cp ./data/dir/coco/raw-data/annotations/*.json ${DATA_DIR}
Compute Engine VM의 연결을 해제합니다.
(vm)$ exit
프롬프트가
username@projectname
으로 바뀌면 Cloud Shell에 있는 것입니다.Compute Engine VM을 삭제합니다.
$ gcloud compute instances delete vm-name \ --zone=us-central2-b