MXNet报Check failed: exec_ctx.dev_id device_count

问题描述

在使用MXNet多个GPU的时候,突然报 了Check failed: exec_ctx.dev_id < device_count_错误,因为电脑上有4个GPU,所以之前用mx.gpu(0)mx.gpu(1)mx.gpu(2)mx.gpu(3)的时候都是正常的,今天突然报错了。

详细错误

mxnet.base.MXNetError: [14:29:41] src/engine/threaded_engine.cc:330: Check failed: exec_ctx.dev_id < device_count_ (2 vs. 1) Invalid GPU Id: 2, Valid device id should be less than device_count: 1

从错误上来看,意思是说我指定的GPU id 2是无效的,能够用的GPU Id是小于1的,也就是只有0能够使用,期间尝试卸载重新安装MXNet还是没能解决这个问题

解决办法

  1. 首先确认你的电脑有几块GPU,如果只有1块GPU,那么肯定只有0能用,其他都不行
  2. 如果电脑确认有多块GPU,请按下面的方法来解决
import mxnet as mx

#查看电脑可用的GPU个数
mx.test_utils.list_gpus()

我在使用上面代码的时候输出的是range(0,4),指的是电脑可用的有四块GPU,即(0,1,2,3)四块,然后再尝试使用下面代码,看是否会报错

import mxnet as mx

#查看第一块GPU是否真的可用
mx.nd.ones((1,1),mx.gpu(0))

使用上面代码测试GPU是否真的可用,如果这里出现问题,使用下面代码即可解决问题

export CUDA_VISIBLE_DEVICES=0,1,2,3

上面的0,1,2,3根据电脑的GPU个数进行设置

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

修炼之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值