Как разделить данные на обучающие и тестовые наборы из одного каталога с помощью PyTorch? - PullRequest
0 голосов
/ 03 мая 2020

У меня есть папка данных, в которой нет данных, разделенных на обучающие и тестовые папки. Как разделить данные на обучающие и тестовые наборы? Метки происходят от имен файлов, поэтому любое изменение в этом порядке должно включать метки. Я хочу разделить данные перед использованием 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)

1 Ответ

0 голосов
/ 03 мая 2020

Я думаю, что вы ищете перекрестную проверку, отметьте ответ . Вы можете добавить столбец с метками, а затем применить любой метод перекрестной проверки для разделения на тестирование и обучение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...