RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously re

1.首先插入

import os
os.environ['CUDA_LAUNCH_BLOCKING'] = '1' # 下面老是报错 shape 不一致

找出具体出错的代码位置

2.我这边出错的代码是(设置断点调试,对比原来运行结果,分析出出错的那一行代码)

target = one_hot.scatter_(1, labels.data, 1)

labels.data应该是有问题的,所以我输出矩阵的形状大小

print(labels.data.shape)
print(labels.data.min(),labels.data.max())

我这里用的是别人的代码,然后原数据集能运行,我这个数据集不能运行
原数据集的数据范围0~3
我数据集的数据范围0~178

所以这里我需要将我的数据范围映射到0~3

labels.data = torch.clamp(labels.data,min=0,max=3)

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