Aprendizaje profundo-Procesamiento del lenguaje natural (NLP) -Biblioteca de terceros (kit de herramientas): torchtext [Api relacionado con el texto propio de pytorch], torchvison [Api relacionado con la imagen del propio pytorch]

El conjunto de datos que viene con pytorch lo proporcionan dos API de nivel superior, que son torchvisionytorchtext

entre ellos:

  1. torchvisionProporciona API y datos relacionados con el procesamiento de datos de imágenes.
    • Ubicación de los datos: torchvision.datasetspor ejemplo: torchvision.datasets.MNIST(datos de imágenes digitales escritos a mano)
  2. torchtextProporciona API y datos relacionados con el procesamiento de datos de texto.
    • Ubicación de los datos: torchtext.datasetspor ejemplo: torchtext.datasets.IMDB(电影datos de texto de comentario)

Tomemos los números escritos a mano de Mnist como ejemplo para ver cómo pytorch carga su propio conjunto de datos

El método de uso es el mismo que antes:

  1. Prepara la instancia del conjunto de datos
  2. Entregue el conjunto de datos al cargador de datos para interrumpir el pedido y formar un lote

4.1 torchversion.datasets

torchversoin.datasetsLas clases de conjuntos de datos en (por ejemplo torchvision.datasets.MNIST) se heredan deDataset

Medios: torchvision.datasets.MNISTuna instancia que se puede obtener Datasetinstanciando directamente

Pero los parámetros en la API MNIST deben tenerse en cuenta:

torchvision.datasets.MNIST(root='/files/', train=True, download=True, transform=)

  1. rootEl parámetro indica dónde se almacenan los datos.
  2. train:El tipo bool indica si se deben utilizar los datos del conjunto de entrenamiento o los datos del conjunto de prueba.
  3. download:tipo bool, que indica si necesita descargar datos al directorio raíz
  4. transform:Función de procesamiento de imágenes realizada

4.2 Introducción al conjunto de datos MNIST

La dirección original del conjunto de datos:http://yann.lecun.com/exdb/mnist/

MNIST es Yann LeCunun conjunto de datos de reconocimiento de imágenes gratuito proporcionado por et al., Que incluye 60.000 muestras de entrenamiento y 10.000 muestras de prueba. El tamaño de la imagen se ha estandarizado. Todas son imágenes en blanco y negro con un tamaño de28X28

Ejecute el código, descargue los datos, observe el tipo de datos:

import torchvision

dataset = torchvision.datasets.MNIST(root="./data",train=True,download=True,transform=None)

print(dataset[0])

Los datos descargados son los siguientes:
Inserte la descripción de la imagen aquí

La salida del código es la siguiente:

Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz
Processing...
Done!
(<PIL.Image.Image image mode=L size=28x28 at 0x18D303B9C18>, tensor(5))

Se pueden devolver dos datos del conjunto de datos, que se pueden adivinar como los datos y el valor objetivo de la imagen.

El valor de retorno 0 es de tipo Image, que se puede abrir llamando al método show () y se encuentra escrito a mano con el número 5.

import torchvision

dataset = torchvision.datasets.MNIST(root="./data",train=True,download=True,transform=None)

print(dataset[0])

img = dataset[0][0]
img.show() #打开图片

Las imágenes son las siguientes:

Inserte la descripción de la imagen aquí

Se puede ver en lo anterior: el valor de retorno es (图片,目标值), este resultado también se puede obtener observando el código fuente

Supongo que te gusta

Origin blog.csdn.net/u013250861/article/details/114297007
Recomendado
Clasificación