Can we manually set Conv2d weights as float32 or float64 ?
Yes you can, and how to do it?

conv = nn.Conv2d(1,1, kernel_size=3)
conv.weight.data = torch.FloatTensor([[[[0.05]]]])
conv.bias.data = torch.FloatTensor([-.15])


Do pytorch layers normalize the outputs to fit a numerical range (like -1 to 1) ?

By default, it not doing that as far as I know, but if you want to do that, use transforms.Normalize from torchvision transforms