需要知道的几个点:

  • 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 的关系相关推荐

  1. Pytorch - GPU ID 指定 pytorch gpu 指定

    PyTorch 关于多 GPUs 时的指定使用特定 GPU. PyTorch 中的 Tensor,Variable 和 nn.Module(如 loss,layer和容器 Sequential) 等可 ...

  2. 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 ...

  3. .to(device)和.cuda()设置GPU的区别

    .to(device) 可以指定CPU 或者GPU 详见代码: device = torch.device("cuda:0" if torch.cuda.is_available( ...

  4. 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: [ ...

  5. batchsize和数据量设置比例_Keras - GPU ID 和显存占用设定步骤

    初步尝试 Keras (基于 Tensorflow 后端)深度框架时, 发现其对于 GPU 的使用比较神奇, 默认竟然是全部占满显存, 1080Ti 跑个小分类问题, 就一下子满了. 而且是服务器上的 ...

  6. Ubuntu18.04报错解决方案:could not select device driver ““ with capabilities: [[gpu]]

    Docker容器: Docker容器将一个软件包在一个完整的文件系统中,该文件系统包含运行所需要的一切:代码,运行时,系统工具,系统库等任何可以安装在服务器上的东西.这保证了软件无论其环境如何,都将始 ...

  7. Keras - GPU ID 和显存占用设定

    Keras - GPU ID 和显存占用设定 初步尝试 Keras (基于 Tensorflow 后端)深度框架时, 发现其对于 GPU 的使用比较神奇, 默认竟然是全部占满显存, 1080Ti 跑个 ...

  8. php和数据库的永久链接,php – WordPress永久链接,包括名称和ID,但仅考虑ID

    我有一个WordPress网站,我想模仿某些新闻媒体和门户网站生成他们的网址的方式. 例如,你有一篇名为"Man Loves Woman"的文章,CMS软件会创建一个这样的网址: ...

  9. Certificate、Provisioning Profile、App ID的介绍及其之间的关系

      1.概念介绍 如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可以看到如下的列表: Prof ...

最新文章

  1. 对计算属性中get和set的理解
  2. 模板:SharePoint2007解决方案包
  3. TI CC2530的BasicRF与Zstack的同与异(重点讲了MAC层)
  4. bash读取txt文件, 并在浏览器中以表格形式输出
  5. 允许使用抽象类类型 isearchboxinfo 的对象_Java学习5-设计模式+抽象类/方法
  6. OC 中NSString与NSString 的比较
  7. 2、Shiro的认证
  8. Hadoop HDFS 的 Java API 操作方式
  9. 汉诺塔C语言步骤解析
  10. MTK平台CAMERA驱动框架解析
  11. 如何在视频上添加水印?建议收藏这些方法
  12. matlab 神经网络设计多层隐含层_[rbf神经网络]请教关于MATLAB中RBF神经网络隐含层神经元个数的问题...
  13. ElasticSearch数据库(ES数据库)简介
  14. 量子通信,永不陷落的安全堡垒?
  15. Java练习(十九):编写代码,实现AOP的@Around操作 (两种写法)
  16. Adobe Photoshop CC 2017 (32 Bit) 软件安装
  17. osgEarth2.10.2中关于空间参考系的一些理解
  18. ubuntu16 安装UR5e driver
  19. ipq806x sdk 编译方法
  20. 精诚EAS-WMS条码化仓库物流软件

热门文章

  1. 哪种类型耳机不伤耳朵,这几款骨传导耳机推荐给大家
  2. 13《将心注入》-豆瓣评分8.3
  3. 读《文明之光》第三册 吴军
  4. Vc 读取Excel表CSpreadSheet类详细解答
  5. 智能机井控制器的优点以及应用领域
  6. 5G商用加速冲刺,群雄逐鹿5G芯片市场
  7. bootstrap 点击图片放大查看_Spring Cloud 之 Bootstrap 配置
  8. 自然语言处理与机械设计制造及自动化
  9. 动荡传染棋、易趣争夺棋
  10. 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(GitOther完结篇)