很多博客上给的解释是计算LOSS时超出了标签类别分类,如
报错 RuntimeError: cuda runtime error (59) : device-side assert triggered at /py/conda-bld/pytorch_…
经反复检查更改代码,发现Tensor经过某些计算步骤后会出现
,锁定相关步骤后发现是因为在定义
后没有对其进行初始化,使得初始参数为0,导致后续一系列计算错误。
所以很多时候出现一些不太明确的报错时,可以检查一下模型过程的Tensor变化从而找出引起异常的问题。
参数初始化:
transfer = nn.Parameter(torch.Tensor(size1, size2))
init.xavier_normal_(transfer)