调整大小后在 CIFAR10 上应用 ResNet (pyTorch)
apply ResNet on CIFAR10 after resizing (pyTorch)
给定预训练的 ResNet152,在尝试使用一些常见数据集(使用 PyTorch)计算预测基准时,我想到的第一个 RGB 数据集是 CIFAR10。问题是 CIFAR10 数据是 3x32x32
而 ResNet 期望 3x224x224
。我已经使用 transforms
:
的已知方法调整了数据大小
preprocess = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
train = datasets.CIFAR10(root='./data', train=True, download=True, transform=preprocess)
test = datasets.CIFAR10(root='./data', train=False, download=True, transform=preprocess)
train_loader = torch.utils.data.DataLoader(train, batch_size=batch_size)
test_loader = torch.utils.data.DataLoader(test, batch_size=batch_size)
但这会导致样本模糊和预测错误。我想知道在这些情况下最好的方法是什么,因为我看到许多论文使用这些数据集给出了 ResNes 和 VGG 等高级模型,我不确定如何解决这个技术问题。
感谢您的回复!
给定预训练的 ResNet152,在尝试使用一些常见数据集(使用 PyTorch)计算预测基准时,我想到的第一个 RGB 数据集是 CIFAR10。问题是 CIFAR10 数据是 3x32x32
而 ResNet 期望 3x224x224
。我已经使用 transforms
:
preprocess = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
train = datasets.CIFAR10(root='./data', train=True, download=True, transform=preprocess)
test = datasets.CIFAR10(root='./data', train=False, download=True, transform=preprocess)
train_loader = torch.utils.data.DataLoader(train, batch_size=batch_size)
test_loader = torch.utils.data.DataLoader(test, batch_size=batch_size)
但这会导致样本模糊和预测错误。我想知道在这些情况下最好的方法是什么,因为我看到许多论文使用这些数据集给出了 ResNes 和 VGG 等高级模型,我不确定如何解决这个技术问题。
感谢您的回复!