I am looking here in the segmentation training file from torchvision
train.py 8
def get_dataset(name, image_set, transform):
    .
    .
    .
    ds = ds_fn(p, image_set=image_set, transforms=transform)
    return ds, num_classes

And it has got no specific target_transforms just transforms
So, whatever transforms are applied to the inputs, the same are applied to the masks.
Now, if I see the transforms that are being applied
They are
def get_transform(train):
    .
    .
    .
    transforms.append(T.ToTensor())
    transforms.append(T.Normalize(mean=[0.485, 0.456, 0.406],
                                  std=[0.229, 0.224, 0.225]))

    return T.Compose(transforms)

So, the masks are also normalized (???)
It should not be so, rather, this is not the case, as I have executed the file
and have seen that the masks are of shape
[N x 21 x H x W] which should be the case, and the values in the mask
also, ranges from 0 - 21 (excluding 255).
So, my question is where is the code that converts the masks to the tensors whose value ranges from 0 - 21 after they are normalized? (If they are)
P.S. This is a pretty easy question, I know, but its just that I am missing something.
I am tagging @ptrblck, as I think he can answer this easily.