I see this question has been previously asked, but the solutions posted don’t seem to be working for me/the traceback message is different. For some reason my model is failing during an application of transforms.Normalize():
transforms_ =  [transforms.Normalize((0.5,), (0.5,))]
self.transform = transforms.Compose(transforms_)

raw_arr_A = np.load(self.files_A[index % len(self.files_A)])
raw_arr_A_res = raw_arr_A[:,:,0]
tensor_A = torch.unsqueeze(torch.from_numpy(raw_arr_A_res), 0).double()
item_A = self.transform(tensor_A)

Printing the .type() of tensor_A it’s definitely torch.DoubleTensor
Bottom of the traceback: (It starts at a for loop over an enumerate() on my dataloader
File "/Users/user/Documents/env/lib/python3.7/site-packages/torchvision/transforms/functional.py", line 208, in normalize
    tensor.sub_(mean[:, None, None]).div_(std[:, None, None])
RuntimeError: expected backend CPU and dtype Double but got backend CPU and dtype Float

I’ve tried casting my networks to .double() (even though I think that is unrelated). Does transforms.Normalize() not accept Double type tensors or something?