cuda error

 1. 问题描述
想把从图像手工生成的特征和经过backbone提取的特征concatenate起来再进入网络后面的层:
x_added_coord = torch.cat([x_backbone, x_coord], 1)
报错:
RuntimeError: CUDA error: an illegal memory access was encountered


2. 解决办法:
(1)只是用一个GPU
(2)或者获知使用CPU训练...(不大现实)
(3)或者把特征都放到cuda:0:     x_added_coord = torch.cat([x_backbone.cuda(0), x_coord.cuda(0)], 1)
但这样做后面的卷积层会报错:

RuntimeError: cuDNN error: CUDNN_STATUS_MAPPING_ERROR

可以设置torch.backends.cudnn.enabled = False 排除这个错,但训练过程会变得巨慢。。。
所以弄来弄去还是选了第一个
目前没有找到更好的解决办法

 

3. 原因:
不太确定,可能是torch.cat()只能对在cuda:0或者GPU的变量操作?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章