Deep learning 当我使用图像数据集和Pytork';谁直接拥有自己的数据集?

Deep learning 当我使用图像数据集和Pytork';谁直接拥有自己的数据集?,deep-learning,dataset,pytorch,torchvision,Deep Learning,Dataset,Pytorch,Torchvision,例如,对于cifar10数据集,直接使用Pyrotch附带的数据集,在相同的网络结构下,准确率可以达到96%,但在我将cifar10转换为图片后,我对其进行了测试,准确率仅为92%。为什么? 这是前面的代码: train_dataset = dset.CIFAR10(args.data_path, train=True, transform=train_transform, download=True) test_dataset = dset.CIFAR10(args.data_path, tr

例如,对于cifar10数据集,直接使用Pyrotch附带的数据集,在相同的网络结构下,准确率可以达到96%,但在我将cifar10转换为图片后,我对其进行了测试,准确率仅为92%。为什么?

这是前面的代码:

train_dataset = dset.CIFAR10(args.data_path, train=True, transform=train_transform, download=True)
test_dataset = dset.CIFAR10(args.data_path, train=False, transform=test_transform, download=True)
这是修改后的代码:

train_dataset = datasets.ImageFolder(root='/home/ubuntu/bigdisk/DataSets/cifar10/static/orig/train/',
                                         transform=train_transform
                                         )
test_dataset = datasets.ImageFolder(root='/home/ubuntu/bigdisk/DataSets/cifar10/static/orig/test/',
                                        transform=test_transform
                                        )

如果下载的数据集、超参数(如批量大小或学习率)、数据集转换等相等,我认为这是因为随机性

数据加载器随机洗牌数据集。每次洗牌时,洗牌后的数据集总是不同的,这可能会导致精度差异

此外,每次将使用不同的值初始化模型。(除非您使用的初始化方法总是使用相同的值初始化模型。)


您可以查看更多信息。

您好,欢迎访问SO。您从哪里获得数据?这里是PyTorch的数据来源:
base_folder='cifar-10-batches-py'url='https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz“filename=“cifar-10-python.tar.gz”
我的数据是将cifar-10-python版本转换为img谢谢你的回复!如上面的代码所示,我刚刚修改了从~/DATASETS/cifar.python加载数据集到root='/home/ubuntu/bigdisk/DATASETS/cifar10/static/orig/train/的路径,其他如train\u transform没有改变。只有道路改变了。使用cifar.python,每次可以达到96%以上,而使用cifar.python转换的img路径,每次的准确率只有92%。这就是img:![]()@Arvin那么你是说两个数据集是相同的。正如我在回答中所说,这可能是因为随机性。请检查两个数据集上的链接和重新培训,并对结果进行比较。
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=args.batch_size, shuffle=True,
                                               num_workers=args.prefetch, pin_memory=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=args.test_bs, shuffle=False,
                                              num_workers=args.prefetch, pin_memory=True)