You could calculate the mean and std for each image and channel, normalize the images, perform your forward pass, and finally undo the normalization on the output:
batch_size = 10
channels = 3
h, w = 24 ,24 
images = torch.randn(batch_size, channels, h, w)
im_mean = images.view(batch_size, channels, -1).mean(2).view(batch_size, channels, 1, 1)
im_std = images.view(batch_size, channels, -1).std(2).view(batch_size, channels, 1, 1)
images_norm = (images - im_mean) / im_std

model = nn.Conv2d(3, 3, 3, 1, 1)
output = model(images_norm)
output = (output * im_std) + im_mean

Let me know, if this works for you or if I’ve misunderstood your use case.