Change datatype without using type

How can I change the datatype of a tensor without changing the device type.
If I use .type() then it would also require the device (cpu or gpu). Is there any way to change just datatype of the tensor

You could just use .to(), .type() or call the type method directly without specifying the device:

x = torch.randn(1, device='cuda')
print(x.to(torch.double))
> tensor([1.4169], device='cuda:0', dtype=torch.float64)
print(x.double())
> tensor([1.4169], device='cuda:0', dtype=torch.float64)
print(x.type(dtype=torch.double))
tensor([1.4169], device='cuda:0', dtype=torch.float64)

As you can see, the device is still the same.