Using PyTorch, what is the difference between the following two methods in sending a tensor to GPU:

Method 1:

```
X = np.array([[1, 3, 2, 3], [2, 3, 5, 6], [1, 2, 3, 4]])
X = torch.DoubleTensor(X).cuda()
```

Method 2:

```
X = np.array([[1, 3, 2, 3], [2, 3, 5, 6], [1, 2, 3, 4]])
X = torch.DoubleTensor(X)
device = torch.device("cuda:0")
X = X.to(device)
```

Similarly, is there any difference in the same two methods above when applied to sending a model to GPU:

Method A:

```
gpumodel = model.cuda()
```

Method B:

```
device = torch.device("cuda:0")
gpumodel = model.to(device)
```

Many thanks in advance!