首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于动作识别的转换器:无效参数:索引[0,1923]= -1不在[0,12936]中

用于动作识别的转换器:无效参数:索引[0,1923]= -1不在[0,12936]中
EN

Stack Overflow用户
提问于 2020-12-08 18:37:50
回答 1查看 42关注 0票数 0

我正在尝试改编一个来自https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/text/transformer.ipynb的转换器代码,并将其用于动作识别。我的数据集由1000个动作和一个可变长度的帧(N)组成,其中每个帧包含84个float32点(x,y)。我将N和点结合起来,为每个动作形成一个相当大的1d张量。操作有一个可变的最大长度约为12K。我的batch = 1, num_layers = 2, d_model = 32, dff = 64, num_heads = 2

我的错误是:

代码语言:javascript
复制
2 root error(s) found.
(0) Invalid argument: indices[0,1923] = -1 is not in [0, 12936) [[node transformer_1/encoder_2/embedding_4/embedding_lookup (defined at :24) ]] (1) Invalid argument: indices[0,1923] = -1 is not in [0, 12936) [[node transformer_1/encoder_2/embedding_4/embedding_lookup (defined at :24) ]]
[[transformer_1/encoder_2/embedding_4/embedding_lookup/_24]] 0 successful operations. 0 derived errors ignored. [Op:__inference_train_step_17044]

Function call stack: train_step -> train_step

如果我的张量输入少于3000个元素,我可以成功地运行它,但如果更高,我会得到上面的错误。有没有人遇到过这样的问题?我不知道错误是什么意思,也不知道如何修复它:

附言:我在某处读到这可能是一个TensorFlow错误(?)但不确定:/

再次提供帮助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-12-08 18:43:38

检查您输入的数据。嵌入通常是transformer编码器的第一层。因此,错误可能是由第一层生成的。您的一个输入索引为负数。需要正索引的嵌入层。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65197324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档