Well it’s nothing out of the box.
I could reproduce something similar just by using the console.
import torch
a=(torch.rand(70,1,256,256)>0.5).float().cuda(1)
b=a.cuda() # Same effect with a.to('cuda:0')

After restarting the computer and running the aforementioned code  B is all zeros.
Originally I discovered the issue using following a "complex pipeline which involves STFT, functional.grid_sample and einsum but I think that’s irrelevant.
Originally the tensor was stored in a dictionary
vars['gt']=vars['gt'].to(torch.device(0))

Afterwards vars[‘gt’] became a tensor bounded between -1 and 5 at gpu 0.
Even trying
import torch
a=(torch.rand(70,1,256,256)>0.5).float().cuda(1)
b=a.cuda() # Same effect with a.to('cuda:0')
c=b.cpu() 

just to force it to be on cpu (avoiding sync problems). Neither using torch.cuda.synchronize() between commands.
Torch version is 1.2.0 according to torch.version
cuda version is 10.0.130
ipython 3.6.8, default version
Nvidia-smi 410.48
Cuda0: Quadro P6000
Cuda1: Gefore GTX 1080 Ti