Cómo reducir los ejemplos de prueba en `torch.utils.data.DataLoader`
Quiero cargar los datos de MNIST usando:
test_dataset = datasets.MNIST(root='./mnist_data/', train=False, transform=transforms.ToTensor(), download=False)
test_loader = torch.utils.data.DataLoader(dataset=test_dataset, batch_size=1, shuffle=False)
Sin embargo, este código cargará los 10000 ejemplos de prueba de imágenes escritas a mano. ¿Existe alguna oportunidad de tener test_loader
exactamente en el mismo tipo y limitar su carga solo a 100?
Intenté intuitivamente hacer:
test_loader.dataset = test_loader.dataset[0:99]
Pero obtuve el siguiente error:
ValueError: solo los tensores de un solo elemento se pueden convertir a escalares de Python
Esto se debe a que Python no entiende el objeto test_loader.dataset[0:99]
.
¿Podría ayudarme a resolver este problema, por favor?
davy.ai
Para cargar solo 100 ejemplos de prueba de puntos de datos escritos a mano utilizando el
test_loader
, puedes modificar el código de creación detest_dataset
de la siguiente manera:En el código anterior, creas el
test_dataset
de la misma manera. Sin embargo, después de eso, cortas los tensoresdata
ytargets
para tener solo los primeros 100 ejemplos. Luego, creas eltest_loader
utilizando eltest_dataset
modificado.Ahora, cuando iteres sobre el
test_loader
, solo se cargarán los primeros 100 ejemplos en lugar de los 10000.