Mendownload, melakukan prapemrosesan, dan mengupload set data COCO
COCO adalah set data deteksi objek, segmentasi, dan pemberian teks berskala besar. Model machine learning yang menggunakan set data COCO meliputi:
- Mask-RCNN
- Retinanet
- ShapeMask
Sebelum dapat melatih model di Cloud TPU, Anda harus menyiapkan data pelatihan.
Dokumen ini menjelaskan cara menyiapkan set data COCO untuk
model yang berjalan di Cloud TPU. Set data COCO hanya dapat disiapkan setelah Anda
membuat VM Compute Engine. Skrip yang digunakan untuk menyiapkan data,
download_and_preprocess_coco.sh
,
diinstal di VM dan harus dijalankan di VM.
Setelah menyiapkan data dengan menjalankan skrip download_and_preprocess_coco.sh
, Anda dapat menampilkan Cloud TPU dan menjalankan pelatihan.
Untuk mendownload dan melakukan prapemrosesan serta mengupload set data COCO sepenuhnya ke bucket Cloud Storage, diperlukan waktu sekitar 2 jam.
Di Cloud Shell, konfigurasikan
gcloud
dengan project ID Anda.export PROJECT_ID=project-id gcloud config set project ${PROJECT_ID}
Di Cloud Shell, buat bucket Cloud Storage menggunakan perintah berikut:
gcloud storage buckets create gs://bucket-name --project=${PROJECT_ID} --location=us-central2
Buat VM Compute Engine untuk mendownload dan memproses data set. Untuk mengetahui informasi selengkapnya, lihat Membuat dan memulai instance 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
Hubungkan ke VM Compute Engine menggunakan SSH:
$ gcloud compute ssh vm-name --zone=us-central2-b
Saat Anda terhubung ke VM, perintah shell akan berubah dari
username@projectname
menjadiusername@vm-name
.Siapkan dua variabel, satu untuk bucket penyimpanan yang Anda buat sebelumnya dan satu lagi untuk direktori yang menyimpan data pelatihan (
DATA_DIR
) di bucket penyimpanan.(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco
Instal paket yang diperlukan untuk memproses data terlebih dahulu.
(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"
Jalankan skrip
download_and_preprocess_coco.sh
untuk mengonversi set data COCO menjadi kumpulan file TFRecord (*.tfrecord
) yang diharapkan oleh aplikasi pelatihan.(vm)$ git clone https://github.com/tensorflow/tpu.git (vm)$ sudo bash tpu/tools/datasets/download_and_preprocess_coco.sh ./data/dir/coco
Tindakan ini akan menginstal library yang diperlukan, lalu menjalankan skrip prapemrosesan. File ini menghasilkan file
*.tfrecord
di direktori data lokal Anda. Skrip download dan konversi COCO memerlukan waktu sekitar satu jam untuk diselesaikan.Salin data ke bucket Cloud Storage Anda.
Setelah Anda mengonversi data ke dalam format TFRecord, salin data dari penyimpanan lokal ke bucket Cloud Storage menggunakan gcloud CLI. Anda juga harus menyalin file anotasi. File ini membantu memvalidasi performa model.
(vm)$ gcloud storage cp ./data/dir/coco/*.tfrecord ${DATA_DIR} (vm)$ gcloud storage cp ./data/dir/coco/raw-data/annotations/*.json ${DATA_DIR}
Putuskan koneksi dari VM Compute Engine:
(vm)$ exit
Perintah Anda sekarang akan menjadi
username@projectname
, yang menunjukkan bahwa Anda berada di Cloud Shell.Hapus VM Compute Engine Anda:
$ gcloud compute instances delete vm-name \ --zone=us-central2-b