If I want to utilize GPU to calculate, I need to use `model = model.cuda()`

.

But I find that it seems every module can be added the `.cuda()`

, such as `Variable`

and `loss`

.

I know that adding `.cuda()`

means calculate on GPU, but do I have to add `.cuda()`

to all the modules?

And which modules can be added the `.cuda()`

? It seems not explicit in the document.

Just write `model.cuda()`

is enough while you need to use `variable = variable.cuda()`

.

`model.cuda()`

converts all parameters such as weights in `model`

from `Parameter(torch.Tensor)`

to `Parameter(torch.cuda.Tensor)`

. So if you do `model.cuda()`

, you need to give `Variable.cuda()`

as input. Now, `model`

's output is `cuda`

ed, you don’t need to add `.cuda()`

to `loss`

.

3 Likes

Thank you very much!