Como fazer o download, o pré-processamento e o upload do conjunto de dados COCO

O COCO é um conjunto de dados de detecção, segmentação e legendagem de objetos em grande escala. Os modelos de aprendizado de máquina que usam o conjunto de dados COCO incluem:

  • Máscara RCNN
  • RetinaNet
  • ShapeMask

Antes de treinar um modelo em um Cloud TPU, você precisa preparar os dados de treinamento. Como as cobranças do Cloud TPU começam na configuração, a prática recomendada é configurar a VM do Compute Engine, preparar o conjunto de dados e depois configurar o Cloud TPU.

Neste tópico, descrevemos como preparar o conjunto de dados COCO para modelos executados no Cloud TPU. O conjunto de dados COCO só pode ser preparado depois que você cria uma VM do Compute Engine. O script usado para preparar os dados, download_and_preprocess_coco.sh, é instalado na VM e precisa ser executado nela.

Depois de preparar os dados executando o script download_and_preprocess_coco.sh, você poderá abrir o Cloud TPU e executar o treinamento.

Preparar o conjunto de dados COCO

O conjunto de dados COCO será armazenado no Cloud Storage. Portanto, defina uma variável de bucket de armazenamento especificando o nome do bucket que você criou:

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

Execute o script download_and_preprocess_coco.sh para converter o conjunto de dados COCO em um conjunto de TFRecords (*.tfrecord) esperado pelo aplicativo de treinamento.

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

Isso instala as bibliotecas necessárias e executa o script de pré-processamento. A saída são alguns arquivos *.tfrecord no diretório de dados. O script de download e conversão do COCO leva aproximadamente 1 hora para ser concluído.

Copiar os dados para o bucket do Cloud Storage

Depois de converter os dados para TFRecords, use o comando gsutil para copiá-los do armazenamento local para o bucket do Cloud Storage. Também é preciso copiar os arquivos de anotação. Eles ajudam a validar o desempenho do modelo.

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