# Dataset responsible for manipulating data for training as well as training tests.
class DatasetMNIST(torch.utils.data.Dataset):
def __init__(self, data, transform=None):
self.data = data
self.transform = transform
def __len__(self):
return len(self.data)
def __getitem__(self, index):
item = self.data.iloc[index]
image = item[1:].values.astype(np.uint8).reshape((28, 28))
label = item[0]
if self.transform is not None:
image = self.transform(image)
return image, label
BATCH_SIZE = 32
VALID_SIZE = 0.15 # percentage of data for validation
transform_train = transforms.Compose([
transforms.ToPILImage(),
# transforms.RandomRotation(0, 0.5),
transforms.ToTensor(),
transforms.Normalize(mean=(0.5,), std=(0.5,))
])
transform_valid = transforms.Compose([
transforms.ToPILImage(),
transforms.ToTensor(),
transforms.Normalize(mean=(0.5,), std=(0.5,))
])
# Importing data that will be used for training and validation
dataset = pd.read_csv('./data/train/train.csv')
# Creating datasets for training and validation
train_data = DatasetMNIST(dataset, transform=transform_train)
valid_data = DatasetMNIST(dataset, transform=transform_valid)
pytorch,数据管理
最新推荐文章于 2022-03-08 22:26:10 发布