评价此页

torch.set_default_device#

torch.set_default_device(device)[源代码]#

设置默认的 torch.Tensor 分配到 device 上。这不影响带有显式 device 参数的工厂函数调用。工厂调用将像传递了 device 作为参数一样执行。

如果只想暂时更改默认设备而不是全局设置,请改用 with torch.device(device):

默认设备最初是 cpu。如果您将默认张量设备设置为另一个设备(例如,cuda)而不带设备索引,则即使在调用 torch.cuda.set_device() 之后,张量也会分配到该设备类型的当前设备上。

警告

此函数对每次调用 torch API(不仅仅是工厂函数)都会造成轻微的性能开销。如果这给您带来了问题,请在 pytorch/pytorch#92701 上发表评论

注意

这不会影响创建与输入共享相同内存的张量的函数,例如:torch.from_numpy()torch.frombuffer()

参数

device (devicestring) – 要设置为默认设备的设备

示例

>>> torch.get_default_device()
device(type='cpu')
>>> torch.set_default_device('cuda')  # current device is 0
>>> torch.get_default_device()
device(type='cuda', index=0)
>>> torch.set_default_device('cuda')
>>> torch.cuda.set_device('cuda:1')  # current device is 1
>>> torch.get_default_device()
device(type='cuda', index=1)
>>> torch.set_default_device('cuda:1')
>>> torch.get_default_device()
device(type='cuda', index=1)