当前位置:   article > 正文

错误处理:IndexError: index out of range in self

indexerror: index out of range in self
  1. import torch
  2. t_embeddings = torch.nn.Embedding(2,5)
  3. x=torch.tensor([[2,3]])
  4. y=t_embeddings(x)

代码如上,报错如下:

IndexError: index out of range in self

        报这个错误是embedding层的张量输入超过了合法范围,embedding层的合法张量输入数值范围应该在[0, num_embeddings - 1]的范围内,过大过小都会报错。
        因此可以在embedding层先输出查看一下最大范围: 

  1. t_embeddings.num_embeddings
  2. #2

         比如下面这样,就没有问题:

  1. t_embeddings = torch.nn.Embedding(5,2)
  2. x=torch.tensor([[2,3]])
  3. y=t_embeddings(x)
  4. y
  5. '''
  6. tensor([[[ 1.7594, -0.2992],
  7. [-0.1612, 0.9231]]], grad_fn=<EmbeddingBackward>)
  8. '''

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/327567
推荐阅读
相关标签
  

闽ICP备14008679号