Please consider the code example below. Even though the weights have moved to CPU from a GPU trained model, the input tensor is still stuck to GPU only. I have tried everything possible and yet I am not able to load CPU tensors as input. My GPU RAM is insufficient for inference so I really have to get this on to CPU. Any idea why the model input is not getting ported to CPU while everything else is? Seems a bit misleading. Thanks,
model = torch.load(path)
model = model.cpu()

for param in model.parameters():
  print(param.data.type())
Output: 
torch.FloatTensor
torch.FloatTensor
torch.FloatTensor
torch.FloatTensor

y = model(data.type(torch.FloatTensor))
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same