Hi,
I am trying to learn PyTorch
. So, I started with MNIST Digit Recognition
. I am using the CSV
dataset file.
I wanted to write my program using functions. Like, I call to def load_test_data
and the output of this function must be the processed train images and labels
.
After, loading the CSV
file into a panda framework
I converted it into NumPy and tensor
respectively. But, as a newcomer, when I am trying to use transforms
it is giving different types of errors. I have searched Google, StackOverflow, and PyTorch Forum
and found that I have to create own class
to transform
. It seems difficult to me!
Is there any way to do transforms and DataLoader
for my code?
def load_train_data():
# Loding CSV file in a dataframe with values
train_img_df = pd.read_csv(os.path.join(config.dataset_path(), "mnist_train.csv"))
#Getting image pixels values and labels from dataset
train_images = train_img_df.iloc[:, 1:]
train_images = train_images.to_numpy()
train_images = train_images.reshape((-1, 1, 28, 28))
train_images = torch.tensor(train_images)
print(train_images.shape) #torch.Size([42000, 1, 28, 28])
train_labels = train_img_df.iloc[:, 0]
train_labels = train_labels.to_numpy()
train_labels = train_labels.reshape(train_labels.shape[0], 1)
train_labels = torch.tensor(train_labels)
print(train_labels.shape) #torch.Size([42000, 1])
transformations=torchvision.transforms.Compose([torchvision.transforms.ToTensor()])
#What I have to write in here to transform and for DataLoader
train_images = ???
#Trying to creat Dataloder
train_img_loader = torch.utils.data.DataLoader(train_images, batch_size= config.batch_size)
train_lab_loader = torch.utils.data.DataLoader(train_labels, batch_size= config.batch_size)