Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal

运行caffe例程包出现上面的错误Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal

这个问题的原因是设置的训练GPU数量和真实物理机上的显卡数量不相等!

弄清楚原因之后就很可以很愉快的解决问题了。


回到solover文件下,或者caffe的python执行文件,设置运行的GPU数量和指定GPU。

这是由于GPU数量不匹配造成的,如果训练自己的数据,那么我们只需要将solver.prototxt文件中的device_id项改为自己的GPU块数,一块就是0,两块就是1,以此类推。

但是SSD配置时的例子是将训练语句整合成一个python文件ssd_pascal.py,所以需要改此代码。相关配置训练方法请参看转载博文:http://blog.csdn.net/xunan003/article/details/78427446

解决方法:将ssd_pascal.py文件中第332行gpus = "0,1,2,3"的GPU选择改为gpus = "0",后面的1,2,3都删掉即可。再次训练即可。

当然,由于博主只有一块GPU且电脑运行内存有限,还需要将ssd_pascal.py文件中的337行batch_size = 32和338行accum_batch_size = 32都改小一倍,即更改批量大小,不然会出现“Check failed: error == cudaSuccess (2 vs. 0)  invalid ...”的错误。


总结:

1、error == cudaSuccess (10 vs. 0)还是error == cudaSuccess (2 vs. 0)错误关键是看其后面的具体信息。这个才是分析问题的关键!!!


参考:

https://blog.csdn.net/xunan003/article/details/78433383


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值