关于 torch 的 device id 与真实 GPU id 的关系
需要知道的几个点:
cuda:{id}
中的 id 并不一定是真实硬件的GPU id,而是运行时可用的 GPU id(从0开始计数)torch.cuda.device_count()
可查看运行时可用的 GPU 数量torch.cuda.get_device_name(i)
可获取第 i 个 device 的 name
测试代码。server.py:
device_count = torch.cuda.device_count()for i in range(device_count):print(f"Device {i}: {torch.cuda.get_device_name(i)}")device = torch.device(f"cuda:1" if torch.cuda.is_available() else "cpu")
比如,执行命令:
CUDA_VISIBLE_DEVICES=4,5 python server.py
输出结果:
Device 0: NVIDIA GeForce RTX 3090
Device 1: NVIDIA GeForce RTX 3090
此时,代码会认为可见的第一个GPU(即 cuda:0)是4卡,可见的第二个GPU(即 cuda:1)是5卡。server.py
代码中的 device
就是用了 5 卡进行后续推理。
关于 torch 的 device id 与真实 GPU id 的关系相关推荐
- Pytorch - GPU ID 指定 pytorch gpu 指定
PyTorch 关于多 GPUs 时的指定使用特定 GPU. PyTorch 中的 Tensor,Variable 和 nn.Module(如 loss,layer和容器 Sequential) 等可 ...
- docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]
Docker容器中使用Nvidia GPU报错 docker: Error response from daemon: could not select device driver "&qu ...
- .to(device)和.cuda()设置GPU的区别
.to(device) 可以指定CPU 或者GPU 详见代码: device = torch.device("cuda:0" if torch.cuda.is_available( ...
- docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]
docker: Error response from daemon: could not select device driver "" with capabilities: [ ...
- batchsize和数据量设置比例_Keras - GPU ID 和显存占用设定步骤
初步尝试 Keras (基于 Tensorflow 后端)深度框架时, 发现其对于 GPU 的使用比较神奇, 默认竟然是全部占满显存, 1080Ti 跑个小分类问题, 就一下子满了. 而且是服务器上的 ...
- Ubuntu18.04报错解决方案:could not select device driver ““ with capabilities: [[gpu]]
Docker容器: Docker容器将一个软件包在一个完整的文件系统中,该文件系统包含运行所需要的一切:代码,运行时,系统工具,系统库等任何可以安装在服务器上的东西.这保证了软件无论其环境如何,都将始 ...
- Keras - GPU ID 和显存占用设定
Keras - GPU ID 和显存占用设定 初步尝试 Keras (基于 Tensorflow 后端)深度框架时, 发现其对于 GPU 的使用比较神奇, 默认竟然是全部占满显存, 1080Ti 跑个 ...
- php和数据库的永久链接,php – WordPress永久链接,包括名称和ID,但仅考虑ID
我有一个WordPress网站,我想模仿某些新闻媒体和门户网站生成他们的网址的方式. 例如,你有一篇名为"Man Loves Woman"的文章,CMS软件会创建一个这样的网址: ...
- Certificate、Provisioning Profile、App ID的介绍及其之间的关系
1.概念介绍 如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可以看到如下的列表: Prof ...
最新文章
- 对计算属性中get和set的理解
- 模板:SharePoint2007解决方案包
- TI CC2530的BasicRF与Zstack的同与异(重点讲了MAC层)
- bash读取txt文件, 并在浏览器中以表格形式输出
- 允许使用抽象类类型 isearchboxinfo 的对象_Java学习5-设计模式+抽象类/方法
- OC 中NSString与NSString 的比较
- 2、Shiro的认证
- Hadoop HDFS 的 Java API 操作方式
- 汉诺塔C语言步骤解析
- MTK平台CAMERA驱动框架解析
- 如何在视频上添加水印?建议收藏这些方法
- matlab 神经网络设计多层隐含层_[rbf神经网络]请教关于MATLAB中RBF神经网络隐含层神经元个数的问题...
- ElasticSearch数据库(ES数据库)简介
- 量子通信,永不陷落的安全堡垒?
- Java练习(十九):编写代码,实现AOP的@Around操作 (两种写法)
- Adobe Photoshop CC 2017 (32 Bit) 软件安装
- osgEarth2.10.2中关于空间参考系的一些理解
- ubuntu16 安装UR5e driver
- ipq806x sdk 编译方法
- 精诚EAS-WMS条码化仓库物流软件