目录
报错:
解决步骤:
1.报错详细信息定位
2.可能报错1:num_class设置不对
3.可能报错2:模型输出尺寸不对
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
首先这种模糊的报错信息难以定位到是什么具体的报错代码位置,所以我们要打印更详细的报错说明,找到报错的代码位置。给代码开始位置添加一下两行:
import os
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
这时候报错会定位到实际位置,大家对症下药解决即可。
检查自己的数据集label对应的值是否有超过num_class的值,比如num_class=3的数据集,label应该为[0,1,2],不应该出现除这三个值以外的值。
通常模型的输入尺寸为3是不会变的,但是输出尺寸的channel应该为num_class的大小,因此,此处是最容易忘记改的,本人就是。。。
记得将模型的out_channel改为num_class!!!