+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

IndexError:用作索引的张量必须是long,byte或bool张量

发布于2020-09-10 09:00     阅读(1039)     评论(0)     点赞(8)     收藏(4)


我仅在测试阶段遇到此错误,但是在培训和验证阶段没有遇到任何问题。

IndexError: tensors used as indices must be long, byte or bool tensors

我在给定代码段的最后一行遇到此错误。

该代码段如下所示,

NumClass = 10
mask = torch.zeros(batch_size, self.mem_dim, 4, 4)
ones = torch.ones(1, 4, 4)
NumRows = self.mem_dim
Elements = NumRows//NumClass
for i in range(batch_size):
    lab = torch.arange(Elements * label[i], Elements*(label[i]+1), 1)
    mask[i,lab] = ones

“实验室”是张量值,并以这种方式打印出范围,

tensor([6, 7, 8])
tensor([ 9, 10, 11])
tensor([21, 22, 23])

(注意*:根据ElementsPerClass的值,此实验张量的长度可以为长度“ n”)


解决方案


是的,当我为标签张量提供dtype = long并使其余张量保留默认d​​type时,它可以工作。谢谢!



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接: https://www.pythonheidong.com/blog/article/515440/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)