首页 > 解决方案 > BERT NER Python

问题描述

我正在将 BERT 模型用于命名实体识别任务。我有火炬版本 -1.2.0+cu9.2 火炬视觉版本 -0.4.0+cu9.2 与 cuda 9.2 兼容的 Nvidia 驱动程序

当我尝试使用命令训练我的模型时

loss, scores = model(b_input_ids.type(torch.cuda.LongTensor), token_type_ids=None,attention_mask=b_input_mask.to(device), labels=b_labels.type(torch.cuda.LongTensor))

我收到以下错误-

C:/w/1/s/windows/pytorch/aten/src/THC/THCTensorIndex.cu:361: block: [35,0,0], thread: [0,0,0] Assertion `srcIndex < srcSelectDimSize` failed.

有人可以帮我解决这个问题吗?

标签: pythonpytorchbert-language-modelnamed-entity-recognition

解决方案


一些谷歌搜索提供了以下提示和以下建议:

这是由于嵌入矩阵中的越界索引。

如果您使用 nn.Embedding 层看到此错误,您可以添加一个打印语句,显示每个输入的最小值和最大值。某些批次可能具有超出范围的索引。找到错误批次后,您应该查看它是如何创建的,以便修复此错误。

如果没有看到您的代码,没有人将能够提供更多帮助。


推荐阅读