Does `model.to('cuda')` move the models' weights to cuda, too?

If so, what is the use of map_location in this code snippet form the docs?

device = torch.device("cuda")
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH, map_location="cuda:0"))  # Choose whatever GPU device number you want
model.to(device)
# Make sure to call input = input.to(device) on any input tensors that you feed to the model

I believe this question was previously answered here: