我知道我可以使用torch.cuda.current_device()访问当前的GPU,但如何才能获得当前所有可用GPU的列表?
torch.cuda.current_device()
fzsnzjdm1#
您可以通过执行以下操作列出所有可用的GPU:
>>> import torch >>> available_gpus = [torch.cuda.device(i) for i in range(torch.cuda.device_count())] >>> available_gpus [<torch.cuda.device object at 0x7f2585882b50>]
tpgth1q72#
查看PyTorch有多少GPU可用
import torch num_of_gpus = torch.cuda.device_count() print(num_of_gpus)
如果你想使用它的第一个GPU。
device = 'cuda:0' if cuda.is_available() else 'cpu'
如果要使用其他GPU,请将上述命令中的0替换为其他数字。
o7jaxewo3#
使用设备属性扩展以前的回复
$ python3 -c "import torch; print([(i, torch.cuda.get_device_properties(i)) for i in range(torch.cuda.device_count())])" [(0, _CudaDeviceProperties(name='NVIDIA GeForce RTX 3060', major=8, minor=6, total_memory=12044MB, multi_processor_count=28))]
p4rjhz4m4#
我知道这个答案有点晚了,我以为问题的作者问的是Pytorch实际上不能使用的设备:
如果您想知道实际的GPU名称(例如:NVIDIA 2070 GTI等),请尝试以下操作:
import torch for i in range(torch.cuda.device_count()): print(torch.cuda.get_device_properties(i).name)
注意“get_device_properties(i)”函数的用法,它返回一个如下所示的对象:
_CudaDeviceProperties(name='NVIDIA GeForce RTX 2070', major=8, minor=6, total_memory=12044MB, multi_processor_count=28))
此对象包含名为“name”的属性。您可以选择直接深入到name属性以获取与相关GPU关联的可读名称。
4条答案
按热度按时间fzsnzjdm1#
您可以通过执行以下操作列出所有可用的GPU:
tpgth1q72#
查看PyTorch有多少GPU可用
如果你想使用它的第一个GPU。
如果要使用其他GPU,请将上述命令中的0替换为其他数字。
o7jaxewo3#
使用设备属性扩展以前的回复
p4rjhz4m4#
我知道这个答案有点晚了,我以为问题的作者问的是Pytorch实际上不能使用的设备:
如果您想知道实际的GPU名称(例如:NVIDIA 2070 GTI等),请尝试以下操作:
注意“get_device_properties(i)”函数的用法,它返回一个如下所示的对象:
此对象包含名为“name”的属性。您可以选择直接深入到name属性以获取与相关GPU关联的可读名称。