区别所在
使用GPU训练的时候,需要将Module对象
和Tensor类型的数据
送入到device。通常会使用 to.(device)。但是需要注意的是:
-
对于
Tensor类型的数据
,使用to.(device) 之后,需要接收返回值,返回值才是正确设置了device的Tensor。 -
对于
Module对象
,只用调用to.(device) 就可以将模型设置为指定的device。不必接收返回值。
来自pytorch官方文档的说明:
Tensor.to(device)
Module.to(device)
举例
# Module对象设置device的写法
model.to(device)
# Tensor类型的数据设置 device 的写法。
samples = samples.to(device)