Hi, I would like to train a net with images of different resolutions (from cifar10). My strategy was the following :
- download the cifar dataset with resolution = 224, with
transform = transforms.Compose([transforms.Resize(size=(224, 224)), transforms.ToTensor(),
trainset = torchvision.datasets.CIFAR10(root= path, train=True, transform=transform, download=True)
- then from this trainset, get a dataloader with images of the desired resolution, by downsampling.
I don’t know how to do this… As I’m going to work with different resolutions, I do not want to download the cifar dataset every time.
If you are using
torchvision.datasets.CIFAR10, the dataset will be downloaded once and stored in the location passed via
Note that you are not downloading the CIFAR10 dataset in a resolution of
224x224, but you are resizing each image to this resolution.
CIFAR10 contains RGB images with the resolution
If you want to apply different resolutions, I would recommend to create different datasets passing the transformation with the desired shape.
Finally I changed my method : every time I call
net(image), I make sure to interpolate the image to the desired size with
torch.nn.functionnal.interpolate. This way I only have one dataset.
Thank you !