在使用spert模型做实体关系联合抽取时遇到报错CUDA error: device-side assert triggered,如下图所示,经查得知有可能是因为数据标签的下标溢出。

一开始不知道怎么排查哪个样本出问题,因为数据经过shuffle,分完batch后样本是随机的。print了半天也没找到,师兄说了一句,把shuffle设为false不就行了,tnnd,一语惊醒梦中人。
data_loader = DataLoader(dataset, batch_size=self._args.train_batch_size,
shuffle=False, drop_last=True,
num_workers=self._args.sampling_processes,
collate_fn=sampling.collate_fn_padding)
把shuffle改成false,batch-size改成1,最终找到第184个样本的实体。
{
"type": "SYMBOL",
"start": 39,
"end": 164
}
应该是实体长度太长了导致的,把这个样本直接删掉,跑通!
在使用spert模型进行实体关系联合抽取时遇到CUDAerror:device-side assert triggered,由于数据标签下标溢出导致。通过设置Dataloader的shuffle为False,batch_size为1,定位到问题样本为第184个,实体长度过长。删除该样本后成功运行。
1万+

被折叠的 条评论
为什么被折叠?



