【发布时间】:2019-03-11 23:30:07
【问题描述】:
我为句子分类任务构建了卷积模型,模型编译成功。然而,当我尝试用我的训练/验证数据集拟合模型时,我在下面得到了奇怪的invalid argument error:
InvalidArgumentError: indices[120,1] = 77 is not in [0, 70) [[{{node embedding_32/embedding_lookup}} = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32, Tparams=DT_FLOAT,_device="/job:localhost/replica:0/task:0/device:CPU:0"](embedding_32/embeddings/read, embedding_32/Cast, embedding_32/embedding_lookup/axis)]]
这是我的模型的架构(截图):
我是 keras 框架的新手,不太了解这个错误。重点是模型编译成功,但模型拟合抛出上述错误。
有什么方法可以调试这个错误?谁能指出我如何做到这一点?有什么想法吗?
【问题讨论】:
-
这个错误只是说嵌入需要在 [0, 69] 范围内(含 69)的索引,但它看到一个值为 77 的索引。这与词汇量大小有关(第一个参数在你的嵌入)。
-
@MatiasValdenegro 我尝试了你对我的建议,但现在我收到了这个错误:
InvalidArgumentError: indices[12,0] = 328 is not in [0, 70) [[{{node embedding_15/embedding_lookup}} = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32, Tparams=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](embedding_15/embeddings/read, embedding_15/Cast, embedding_15/embedding_lookup/axis)]]。我怎样才能解决这个问题?有什么想法吗? -
我没有提出任何可能的解决方案,这更像是一个概念问题而不是编程问题。问题是词汇表与输入数据中的索引不匹配。
-
@MatiasValdenegro 我该怎么办?你能指出我该怎么做或可能的具体解决方案来克服这个问题吗?谢谢
-
我已经做了,我告诉过你检查词汇表是否适合训练和测试集,并且没有索引大于词汇表的大小。我不是 NLP 专家,您没有提供更多信息(例如更多代码)。
标签: python error-handling keras