火车图像数据集和火车图像加载器的长度不同?
Length of train image dataset and train image loader are different?
image_datasets
是一个包含训练数据和测试数据的字典。
代码如下:
transforms= transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
image_datasets = {'train': datasets.CIFAR10(root=data_dir, train=True, download=True,
transform=transforms),
'test': datasets.CIFAR10(root=data_dir, train=False, download=True,
transform=transforms)
}
image_datasets
输出:
{'test': Dataset CIFAR10
Number of datapoints: 10000
Root location: ../Data
Split: Test
StandardTransform
Transform: Compose(
ToTensor()
Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5))
), 'train': Dataset CIFAR10
Number of datapoints: 50000
Root location: ../Data
Split: Train
StandardTransform
Transform: Compose(
ToTensor()
Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5))
)}
#CREATING DATA LOADER
data_loaders = {
'train': DataLoader(image_datasets['train'], 10, shuffle=True),
'test': DataLoader(image_datasets['test'], 10)}
当我调用 len(data_loaders['train'])
时 returns
5000
定义我的数据加载器时,我使用的是 batch_size=10
。我的 data_loader 的长度是否除以我的 batch_size。编码新手,只是想仔细检查一下。
简而言之,
len(data_loaders['train'].dataset)
给出数据集中有多少实例,例如 CIFAR10 中的 50000。
len(data_loaders['train'])
为您提供此数据加载器中的批次数,例如,如果您的 batch_size=10,则为 CIFA10 中的 5000。批次数按len(dataset)/(batch_size)
. 计算
因此,当我们计算每个时期的准确率时,我们将正确的数量除以 len(data_loaders['train'].dataset)
而不是 len(data_loaders['train'])
因为我在 Stack Overflow 中为准确率超过 100% 的人修复了这个错误,并且原因是 len(data_loaders['train'])
.
的分裂
image_datasets
是一个包含训练数据和测试数据的字典。
代码如下:
transforms= transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
image_datasets = {'train': datasets.CIFAR10(root=data_dir, train=True, download=True,
transform=transforms),
'test': datasets.CIFAR10(root=data_dir, train=False, download=True,
transform=transforms)
}
image_datasets
输出:
{'test': Dataset CIFAR10
Number of datapoints: 10000
Root location: ../Data
Split: Test
StandardTransform
Transform: Compose(
ToTensor()
Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5))
), 'train': Dataset CIFAR10
Number of datapoints: 50000
Root location: ../Data
Split: Train
StandardTransform
Transform: Compose(
ToTensor()
Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5))
)}
#CREATING DATA LOADER
data_loaders = {
'train': DataLoader(image_datasets['train'], 10, shuffle=True),
'test': DataLoader(image_datasets['test'], 10)}
当我调用 len(data_loaders['train'])
时 returns
5000
定义我的数据加载器时,我使用的是 batch_size=10
。我的 data_loader 的长度是否除以我的 batch_size。编码新手,只是想仔细检查一下。
简而言之,
len(data_loaders['train'].dataset)
给出数据集中有多少实例,例如 CIFAR10 中的 50000。len(data_loaders['train'])
为您提供此数据加载器中的批次数,例如,如果您的 batch_size=10,则为 CIFA10 中的 5000。批次数按len(dataset)/(batch_size)
. 计算
因此,当我们计算每个时期的准确率时,我们将正确的数量除以 len(data_loaders['train'].dataset)
而不是 len(data_loaders['train'])
因为我在 Stack Overflow 中为准确率超过 100% 的人修复了这个错误,并且原因是 len(data_loaders['train'])
.