Пакет 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)
Очевидно, вы можете переключаться только между train=True
и train=False
. документы объясняют:
train (bool, необязательно) - если True, то создает набор данных из training.pt, а не из test.pt.
Но это противоречит обычной практике трехстороннего разделения.Для серьезной работы мне нужен еще один DataLoader
с проверочным набором.Кроме того, было бы неплохо указать пропорции разделения самостоятельно.Они не говорят, какой процент от набора данных зарезервирован для тестирования, возможно, я бы хотел изменить это.
Я предполагаю, что это сознательное проектное решение.Каждый, кто работает с одним из этих наборов данных, должен использовать один и тот же набор тестов.Это делает результаты сопоставимыми.Но мне все еще нужно получить валидацию из trainloader
.Можно ли разделить DataLoader
на два отдельных потока данных?