I have this code where I tested Normalize and LinearTranformation.
torchvision.transforms.Normalize and torchvision.transforms.LinearTransformation to be more precise.
import torch.nn as nn
import torch.nn.functional as F
from torch.utils.data import DataLoader, Dataset, TensorDataset
from torch.optim import *
import torchvision

trans = torch.tensor([[1/128., 1.], [1., 1.]])
dl = DataLoader(
  torchvision.datasets.MNIST('/data/mnist', train=True, download=True,
                             transform=torchvision.transforms.Compose([
                               torchvision.transforms.ToTensor(),
                               torchvision.transforms.Normalize((0.5,), (0.5,)),
                               torchvision.transforms.LinearTransformation(trans)  
                             ])), shuffle=False)



tensor = dl.dataset.data
tensor = tensor.to(dtype=torch.float32)
tr = tensor.reshape(tensor.size(0), -1) 
# tr = tr/128 # tr = tr/255
targets = dl.dataset.targets
targets = targets.to(dtype=torch.long)

x_train = tr[0:50000-1]
print(x_train[0])

The output print(x_train[0]) is always the same, even if I eliminate these two transformations, or if I eliminate any of these two. Do you have any idea why is this so?
By LinearTransformation I tried to do a transform that would be identical to scaling down the tensor values like tr = tr/128 for instance in the commented part of the code.