У меня есть папка данных, в которой нет данных, разделенных на обучающие и тестовые папки. Как разделить данные на обучающие и тестовые наборы? Метки происходят от имен файлов, поэтому любое изменение в этом порядке должно включать метки. Я хочу разделить данные перед использованием ImageFolder, чтобы можно было выполнить различные преобразования для наборов данных обучения и тестирования.
train_transforms = transforms.Compose([transforms.RandomRotation(10),
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225])])
test_transforms = transforms.Compose([transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225])])
train_image_dataset = datasets.ImageFolder(data_dir, transform=train_transforms)
test_image_dataset = datasets.ImageFolder(data_dir, transform=test_transforms)
train_dataloader = torch.utils.data.DataLoader(train_image_dataset, batch_size=64, shuffle=True)
test_dataloader = torch.utils.data.DataLoader(test_image_dataset, batch_size=32)