CUDA指定显卡时出现的问题及解决

文章首发及后续更新:https://mwhls.top/3718.html,无图/无目录/格式错误/更多相关请至首发页查看。
新的更新内容请到mwhls.top查看。
欢迎提出任何疑问及批评,非常感谢!

错误信息
  1. RuntimeError: Expected tensor for argument #1 ‘input’ to have the same device as tensor for argument #2 ‘weight’; but device 0 does not equal 1 (while checking arguments for cudnn_convolution)
  2. 还有一个错误信息找不到了。
场景描述
  • 工具:pytorch, CUDA
  • 需求:对于8块GPU,使用4号GPU进行训练。
  1. 配置1
    • os.environ[‘CUDA_VISIBLE_DEVICES’] = [4]
    • model.to(4)
  2. 配置2
    • os.environ[‘CUDA_VISIBLE_DEVICES’] = [4, 5, 6]
    • model.to(1)
解决方法
  • os.environ[‘CUDA_VISIBLE_DEVICES’] = [4]
  • model.to(0)
说明
  • os.environ[‘CUDA_VISIBLE_DEVICES’] = [4]用来设置可用的显卡,表示后续仅4号显卡可用。
  • model.to(0)是在可用的显卡中找到第4号显卡,但因为上面设置了只有一块显卡可用,所以这里设置成0时才能正确使用这块显卡。
  • 但按理说[4, 5, 6]的model.to(1)应该用5号显卡才对,但实际上会出现错误信息1,好在一张显卡也够用。
  • 现在仔细想想一个是CUDA的限制,一个是torch的限制,好像也说的过去。
参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值