Principiantes del aprendizaje profundo, ¿cómo descargar conjuntos de datos públicos comunes y usarlos?

Este artículo ha participado en el evento "Ceremonia de creación de recién llegados" para comenzar juntos el camino de la creación de oro.

1. Introducción

Cuando comencé con el aprendizaje profundo, era inevitable usar algunos conjuntos de datos públicos. Ahora no tengo nada que hacer y registro cómo descargar rápidamente algunos conjuntos de datos clásicos. Aprender a través de documentos oficiales es un método que a menudo recomiendan algunas vacas importantes, por lo que comenzaremos a aprender de los documentos oficiales en este blog.

Debido a que estoy haciendo la dirección de CV, uso la biblioteca TorchVision como ejemplo. Desde el sitio web oficial:This library is part of the [PyTorch](http://pytorch.org/) project. PyTorch is an open source machine learning framework.

The [torchvision] package consists of popular datasets, model architectures, and common image transformations for computer vision.

Incluyendo muchos conjuntos de datos populares, como nuestros comunes CIFAR, COCO y MINST, todos deberían estar familiarizados. imagen-20211112215757902Tomaré CIFAR como ejemplo en un rato para registrar mi proceso.

2. Cómo leer los documentos oficiales

  1. Primero echemos un vistazo a CIFARla documentación de esta clase:

    imagen-20211112220405128

    parámetro:

    raíz: indica en qué directorio colocar el conjunto de datos descargado

    root (string): Root directory of dataset where directory ``cifar-10-batches-py`` exists or will be saved to if download is set to True.
    复制代码

    entrenar: si es un conjunto de datos de entrenamiento

    train (bool, optional): If True, creates dataset from training set, otherwise creates from test set.
    复制代码

    transform: una función que preprocesa la imagen y devuelve la transformación

    A function/transform that takes in an PIL image and returns a transformed version.
    复制代码

    descargar: si descargar el conjunto de datos,

    download (bool, optional):If true, downloads the dataset from the internet and puts it in root directory. If dataset is already downloaded, it is not downloaded again.
    复制代码

3. Código práctico

  1. Código de muestra

    # 导入torchvision包
    import torchvision
    
    # 对原始图像进行数据处理的函数
    dataset_transform = torchvision.transforms.Compose([
        torchvision.transforms.ToTensor()
    ])
    
    # 生成训练数据集和测试数据集
    # 训练数据集 存放在根目录的dataset文件夹下,作为训练数据集,并下载
    train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, transform=dataset_transform, download=True)
    # 测试数据集 存放在根目录的dataset文件夹下,不作为训练数据集,并下载
    test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False, transform=dataset_transform, download=True)
    
    print(test_set[0])
    复制代码
  2. Luego damos clic derecho para ejecutar y descargar

    imagen-20211113095342812

    Se puede ver que el conjunto de datos se ha descargado, pero debido a que se descarga de toronto.edu, la velocidad es muy lenta. Enseñarle un método más rápido: finalizamos la operación, copiamos este enlace, lo descargamos con Thunder y pronto estará bien. Luego descomprima el .gzarchivo descargado y colóquelo en el datasetdirectorio que creamos:

    imagen-20211113100111844
  3. Vuelva a ejecutar, puede usar el conjunto de datos normalmente.

    imagen-20211113100435809

4. Cómo visualizar

Lo usé tensorboardpara la visualización.Si está interesado, puede estudiar la biblioteca de tensorboard.

import torchvision
from torch.utils.tensorboard import SummaryWriter
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

dataset_transform = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])

# 返回类型
train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, transform=dataset_transform, download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False, transform=dataset_transform, download=True)

print(test_set[0])
writer = SummaryWriter("p10")
for i in range(10):
    img, target = test_set[i]
    writer.add_image("test_set", img, i)

writer.close()
复制代码

Puedes ver la imagen en tu navegador:

imagen-20211113100721223

遇到问题:ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] verificación de certificado fallida: el certificado ha caducado (_ssl.c:1131)

Si encuentra el mismo problema en la descarga, necesita importar ssl:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context
复制代码

La última palabra : escribir no es fácil, si te gusta o te ayuda, recuerda dar me gusta + seguir o favorito ~

Supongo que te gusta

Origin juejin.im/post/7086664505731579917
Recomendado
Clasificación