Sure!
The normalize function will basically subtract the mean from the input image, and then divide by the std. So, if X is the image tensor, then normalize will return X_norm = (X-mean)/std.
So, for visualization, you have to reverse this operations:
X_rev = X_norm * std + mean

For converting an RGB image to a 1-channel image (monochrome), there are multiple ways:

Use only one of the channel in the RGB image, for example the red channel
Use the average of the three channels
Use a weighted sum of the input channels, with weight vectors [0.2989, 0.5870, 0.1140]

Use PyTorch function torchvision.transforms.functional.to_grayscale(img) (if you are dealing with a PIL image, not a tensor)

## img is a PIL image, and X is the corresponding tensor 
## 
## method 1: take the red channel
X_gray = X[0, :, :]

## method 2: take the averge of all three input channels
X_gray = torch,mean(X, dim=0, keepdim=True)

## method 3: weighted sum of input channels
weights = torch.tensor([0.2989, 0.5870, 0.1140])
torch.sum(weights.view(3, 1, 1) * X, dim=0, keepdim=True)

## method 4: using torch function to_grayscale
from torchvision.transforms import functional as TF
img_gray = TF.to_grayscale(img)