当前位置:   article > 正文

DL debug:Assertion `index >= -sizes[i] && index < sizes[i] && “index out of bounds“` failed.详细解决过程_index out of bounds"` failed.

index out of bounds"` failed.

由于深度学习在GPU上运行,所以报错信息的位置可能不太准确,所以利用CUDA_LAUNCH_BLOCKING=1 来准确定位。即在命令行之前加上,即:

CUDA_LAUNCH_BLOCKING=1 python main.py

上面报错的意思就是数组下标超了,所以就应该看看到底是等式左边超过了,还是右边超过了。

由于没有在pycharm上配置好,所以只能在服务器上debug(md,马上把pycharm配好,这样可以直接在pycharmdebug了)

由于不知道是这一行的哪里出错了,所以我们得继续拆分:把各个小部分打印出来

这样看本应该看出问题,就是第二个的上千,早就超过了第一个的最大下标377,但是当时哈了,没看出来。所以得精确查看哪里出错了,直接code下面的组件:

发现报错了,然后再联想上面的输出,没错,罪魁祸首就是它,终于找到了。

然后仔细对比才发现第一个数组的长度应该是数据集的长度,而我弄成了data_loader的长度,所以才会超标。

因为data_loader的长度等于数据集/batchsize。不一样

debug得一步一步精确,不断想办法缩小范围。

最后大功告成!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/879777
推荐阅读
相关标签
  

闽ICP备14008679号