OBBDetection icon indicating copy to clipboard operation
OBBDetection copied to clipboard

cudaErrorAssert: device-side assert triggered

Open xiyufeng2 opened this issue 2 years ago • 4 comments

训练快结束时,neg_inds = neg_inds.unique(),这步做张量的去重时,报错transform: failed to synchronize: cudaErrorAssert: device-side assert triggered。这个张量很奇怪,无法作任何操作。

xiyufeng2 avatar Dec 17 '21 05:12 xiyufeng2

由于cuda的异步操作,可能使报错的位置不是很准确。这个可能是因为数据集的label超出检测头的num_classes,可以尝试在命令行前面加上CUDA_LAUNCH_BLOCKING=1进行调试

jbwang1997 avatar Dec 17 '21 08:12 jbwang1997

感谢您的回复! CUDA_LAUNCH_BLOCKING=1调试后报错位置为rand_inds = gallery[perm],在random_choice函数中。首先这几个张量都无法打印内容,看不到里面是什么:其次查了网络结构,最后的分类fc层确实是16,DOTA数据集是15类,难道是这里对应不上吗

xiyufeng2 avatar Dec 18 '21 02:12 xiyufeng2

已解决,随机生成perm时超出范围了。感谢

xiyufeng2 avatar Dec 20 '21 09:12 xiyufeng2

能问一下你是怎么解决的吗?我之前运行没有问题,换了台电脑就报这个问题了,而且class设置的也是对应的

ghost avatar May 24 '22 03:05 ghost