thank you for the suggestions @ptrblck  i have tried the same code with few weeks and it worked fine. so I applied augmentation using torchvision transform. and model started doing worse and accuracy is back to the original state where its not performing well/not changing. so I started debugging one interesting thing I have noticed along the way is after applying augmentation images looks completely distorted. I’m attaching the before and after augmentation pictures as well as the augmentation code, can you please help me figure ou where I’m making wrong.
Augmentation
torchvision_transform = transforms.Compose([
    np.uint8,
    transforms.ToPILImage(),
    transforms.Resize((28,28)),
    transforms.RandomRotation([45,135]),
    #transforms.RandomHorizontalFlip(),
    transforms.ToTensor()
    ])

code used to display augmented image
transformed=torchvision_transform(x)
plt.imshow(transformed.squeeze().numpy(), interpolation='nearest')
plt.show()

code used to display without augmentation images.



x=data.iloc[:1,2:].values
plt.imshow(x.reshape(28,28), interpolation='nearest')
plt.show()



First image is without augmentation and second is with augmentation.