python - 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.
有人可以帮我解决这个问题吗?
解决方案
一些谷歌搜索提供了以下提示和以下建议:
这是由于嵌入矩阵中的越界索引。
如果您使用 nn.Embedding 层看到此错误,您可以添加一个打印语句,显示每个输入的最小值和最大值。某些批次可能具有超出范围的索引。找到错误批次后,您应该查看它是如何创建的,以便修复此错误。
如果没有看到您的代码,没有人将能够提供更多帮助。
推荐阅读
- azure - 在 Azure Ad 中添加可跨 AD 组访问的扩展属性
- swift - Swift - 实现可扩展单元格列表的正确方法
- c# - 在 Lua 中复制 C# Math.IEEERemainder?
- c# - 我需要使用 2 个表创建一个包含出现次数最多的数据行
- javascript - 画布对象不改变 X 位置?
- javascript - 当另一个字段不为空时需要输入字段
- java - 休眠中的外键,为什么要创建对象,如何更新引用实体中的记录
- java - 向 linux 大师大喊大叫。权限异常
- regex - 正则表达式回溯匹配正确,但在 Notepad++ 中不替换
- php - 无法使用 PHP 提取 HTML 数据