将 COCO 数据集导入 google colaboratory

Importing COCO datasets to google colaboratory

COCO 数据集非常大,我无法将其上传到 google colab。有什么方法可以直接将数据集下载到 google colab?

可以直接wget下载

!wget http://images.cocodataset.org/zips/train2017.zip

此外,您应该使用 GPU 实例,它在 350 GB 时提供更大的 space。

您可以将其下载到 google 驱动器,然后将驱动器安装到 Colab。

from google.colab import drive
drive.mount('/content/drive')

然后您可以 cd 到包含数据集的文件夹,例如

import os
os.chdir("drive/My Drive/cocodataset")

另一种方法是只上传 annotations file to Google Colab. There's no need to download the image dataset. We will make use of the PyCoco API。接下来,在准备图像时,您可以 使用 URL!

读取图像文件,而不是从驱动器/本地文件夹访问图像文件
# The normal method. Read from folder / Drive
I = io.imread('%s/images/%s/%s'%(dataDir,dataType,img['file_name']))

# Instead, use this! Url to load image
I = io.imread(img['coco_url'])

此方法将为您节省大量 space 下载时间和精力。但是,在训练期间您需要有效的互联网连接才能获取图像(当然您有,因为您使用的是 colab)。

如果您对使用 COCO 数据集感兴趣,可以查看 my post on medium

使用驱动更好,以便进一步使用。还要使用 colab ( !unzip ) 解压缩 zip,因为在驱动器上使用 zip 提取器需要更长的时间。我试过了 :D

最近下载COCO最简单的方法就是使用Python工具,fiftyone. It lets you download, visualize, and evaluate the dataset as well as any subset你有兴趣

它还 works directly in Colab 因此您可以在那里执行整个工作流程。

import fiftyone as fo
import fiftyone.zoo as foz

#
# Only the required images will be downloaded (if necessary).
# By default, only detections are loaded
#

dataset = foz.load_zoo_dataset(
    "coco-2017",
    splits=["validation","train"],
    classes=["person", "car"],
    # max_samples=50,
)

# Visualize the dataset in the FiftyOne App
session = fo.launch_app(dataset)