lhk*_*lhk 5 python torch pytorch
torchvision 包提供了对常用数据集的轻松访问。你会像这样使用它们:
trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
shuffle=True, num_workers=2)
testset = torchvision.datasets.CIFAR10(root='./data', train=False,
download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
shuffle=False, num_workers=2)
Run Code Online (Sandbox Code Playgroud)
显然,您只能在train=True
和之间切换train=False
。该文档解释:
train (bool, optional) – 如果为 True,则从 training.pt 创建数据集,否则从 test.pt。
但这与三路拆分的常见做法背道而驰。对于严肃的工作,我需要另一个DataLoader
带有验证集的。此外,最好自己指定拆分比例。他们没有说明保留用于测试的数据集的百分比,也许我想改变它。
我认为这是一个有意识的设计决定。处理这些数据集之一的每个人都应该使用相同的测试集。这使得结果具有可比性。但我仍然需要从trainloader
. 是否可以将 a 拆分DataLoader
为两个单独的数据流?
与此同时,我偶然发现了这个方法random_split
。因此,您不拆分DataLoader
,而是拆分Dataset
:
torch.utils.data.random_split(dataset, lengths)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3750 次 |
最近记录: |