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. Tomaré CIFAR como ejemplo en un rato para registrar mi proceso.
2. Cómo leer los documentos oficiales
-
Primero echemos un vistazo a
CIFAR
la documentación de esta clase: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
-
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]) 复制代码
-
Luego damos clic derecho para ejecutar y descargar
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
.gz
archivo descargado y colóquelo en eldataset
directorio que creamos: -
Vuelva a ejecutar, puede usar el conjunto de datos normalmente.
4. Cómo visualizar
Lo usé tensorboard
para 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:
遇到问题: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 ~