RuntimeError: CUDA error: device-side assert triggered
今天在跑NER实验时,用到了weibo、resume、ontonote4三个数据集,并向其中添加了N-Gram,但是在运行前两者时程序没有问题,使用ontonote4时出现上述错误,最终发现原因如下:
每个数据集提取的ngram数量不同,而在使用nn.Embedding()时,需要根据词表指定生成embedding的个数,而我一直使用的是weibo的ngram词表个数,又因为
ngram(ontonote4) > ngram(weibo) > ngram(resume)
,因此运行resume时没报错,而运行ontonote4报错。
即,词向量的索引超出预先设定的大小
解决方案:替换对应数据集的词表