成功解决RuntimeError: radix_sort: failed on 1st step: cudaErrorInvalidDevice: invalid device ordinal

项目场景:

linux下detectron2异常解决


问题描述:

最近用到了detectron2来进行实例分割,遇到了一个非常奇葩的问题,根据detectron2的要求,我的pytorch版本选择了1.8.0。我先在windows跑了几天,服务器回来后,打算移植到服务器上,同样也安装了1.8.0的pytorch。然后,安装测试的时候未报异常,训练的时候报了如下的错误

在这里插入图片描述


原因分析:

提示:这里填写问题的分析:
经过一顿百度操作后,进行了如下操作:
1、降级pytorch。
  结果:ok,不报这个错了。重新编译后(更改pytorch版本后需要重新编译detectron2),训练的时候报了如下错误:
在这里插入图片描述
这说明pytorch版本必须要在1.8.0以上。
giao,没法子,继续查
2、训练的时候指定显卡进行训练,在训练代码中添加代码

os.environ['CUDA_VISIBLE_DEVICES'] = '1'

  服务器上有两块显卡,所以我来回试,报错依然。尝试训练其他代码,却能正常训练,这一次说明我的服务器环境没有问题。
  接着,继续解决


解决方案:

  最终,查到这是torch1.8.x的bug,既然降级也不行,1.8.x又有bug,那就升级喽。为了提升成功率,我重下了detectron2的源码,安装了1.9.0的pytorch,测试也成功,开始训练
[11/11 16:26:51 d2.utils.events]:  eta: 0:01:10  iter: 19  total_loss: 4.466  loss_cls: 1.329  loss_box_reg: 0.3078  loss_mask: 0.6922  loss_rpn_cls: 1.864  loss_rpn_loc: 0.1759  time: 0.0616  data_time: 0.0140  lr: 7.2025e-06  max_mem: 645M
[11/11 16:26:52 d2.utils.events]:  eta: 0:01:09  iter: 39  total_loss: 2.811  loss_cls: 1.121  loss_box_reg: 0.5544  loss_mask: 0.6874  loss_rpn_cls: 0.2094  loss_rpn_loc: 0.1059  time: 0.0678  data_time: 0.0136  lr: 1.2152e-05  max_mem: 687M
[11/11 16:26:54 d2.utils.events]:  eta: 0:01:08  iter: 59  total_loss: 2.596  loss_cls: 0.9262  loss_box_reg: 0.6883  loss_mask: 0.6818  loss_rpn_cls: 0.1335  loss_rpn_loc: 0.0902  time: 0.0704  data_time: 0.0144  lr: 1.7103e-05  max_mem: 707M
[11/11 16:26:55 d2.utils.events]:  eta: 0:01:07  iter: 79  total_loss: 2.364  loss_cls: 0.7207  loss_box_reg: 0.6758  loss_mask: 0.67  loss_rpn_cls: 0.1154  loss_rpn_loc: 0.09799  time: 0.0727  data_time: 0.0140  lr: 2.2053e-05  max_mem: 707M
^C[11/11 16:26:56 d2.engine.hooks]: Overall training speed: 86 iterations in 0:00:06 (0.0727 s / it)
[11/11 16:26:56 d2.engine.hooks]: Total training time: 0:00:06 (0:00:00 on hooks)
[11/11 16:26:56 d2.utils.events]:  eta: 0:01:07  iter: 88  total_loss: 2.251  loss_cls: 0.6885  loss_box_reg: 0.6405  loss_mask: 0.6657  loss_rpn_cls: 0.1111  loss_rpn_loc: 0.1179  time: 0.0723  data_time: 0.0135  lr: 2.4033e-05  max_mem: 707M

   终于,出现了这熟悉的画面,说明训练正常,bug解决!!!

你可能感兴趣的:(pytorch,深度学习,人工智能)