The docs say you should pass the device parameter around and create your tensors with parameter device=device or use .to(device) to move them to the gpu; and to apply .cuda() to the model.
However typically I want to use CPU or GPU for everything. Therefore if I want GPU it seems easier to just at the start do:

torch.set_default_tensor_type(torch.cuda.FloatTensor)

This avoids the need to pass around a device parameter and loads of .to(device) calls where one can easily be forgotten by mistake. Is there anything wrong with this?