File size: 1,466 Bytes
97daae4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import torch
import torchvision
from torchvision.datasets import Food101, MNIST
from torch.utils.data import Subset, DataLoader
import torchvision.transforms as transforms

transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406],
                         std=[0.229, 0.224, 0.225]),
])

split = 0.25
batch_size = 32

train_datasets = Food101(root = "./data", split = "train", transform = transform, download = True)
test_datasets = Food101(root = "./data", split = "test", transform = transform, download = True)

num_samples_train = int(split * len(train_datasets))
train_indices = torch.randperm(len(train_datasets))[:num_samples_train]

num_samples_valid = int(split * len(train_datasets))
valid_indices = torch.randperm(len(train_datasets))[:num_samples_valid]

num_samples_test = int(split * len(test_datasets))
test_indices = torch.randperm(len(test_datasets))[:num_samples_test]

split_tarin_data = Subset(train_datasets, train_indices)
split_valid_data = Subset(train_datasets, valid_indices)
split_test_data = Subset(test_datasets, test_indices)

train_dataloader = DataLoader(split_tarin_data, batch_size = batch_size, shuffle = True, drop_last = True)
valid_dataloader = DataLoader(split_valid_data, batch_size = batch_size, shuffle = True, drop_last = True)
test_dataloader = DataLoader(split_test_data, batch_size = batch_size, shuffle = False, drop_last = True)