torch.embedding 报错 IndexError: index out of range in self

文章目录

  • 1. 报错
  • 2. 原因
  • 3. 解决方法


1. 报错

torch.embedding 报错:

IndexError: index out of range in self

2. 原因

首先看下正常情况:

import torch
import torch.nn.functional as Finputs = torch.tensor([[1, 2, 4, 5], [4, 3, 2, 9]])
embedding_matrix = torch.rand(10, 3)
print(embedding_matrix)
print(F.embedding(inputs, embedding_matrix))

输出:

tensor([[0.8832, 0.2487, 0.7640],[0.8973, 0.5747, 0.8496],[0.2269, 0.2961, 0.7951],[0.7736, 0.9914, 0.9448],[0.4134, 0.7143, 0.4455],[0.3482, 0.1837, 0.3179],[0.4071, 0.9485, 0.1735],[0.7494, 0.8119, 0.7899],[0.3922, 0.2944, 0.4924],[0.2391, 0.8299, 0.3299]])
tensor([[[0.8973, 0.5747, 0.8496],[0.2269, 0.2961, 0.7951],[0.4134, 0.7143, 0.4455],[0.3482, 0.1837, 0.3179]],[[0.4134, 0.7143, 0.4455],[0.7736, 0.9914, 0.9448],[0.2269, 0.2961, 0.7951],[0.2391, 0.8299, 0.3299]]])

在这里,embedding_matrix 是一个全量的权重表,需要根据 inputs 的列表来选择权重列表的第几行。

例如:inputs[0] = [1, 2, 4, 5],注意这里是从0开始的,那么依次选择 embedding_matrix 的第2行、第3行、第5行、第6行,则对应的列表组成为:

[[0.8973, 0.5747, 0.8496],
[0.2269, 0.2961, 0.7951],
[0.4134, 0.7143, 0.4455],
[0.3482, 0.1837, 0.3179]]

这就是输出的第一部分,对于inputs[1] = [4, 3, 2, 9] 同样如此。

到这里,应该就清楚了出现 IndexError: index out of range in self 报错的原因了。如果 inputs 中出现超过权重表长度的数,就会报错。

例如上面例子权重表有10行,所以 inputs 最大数应该为9,如果 inputs[1] = [4, 3, 2, 10],如下:

import torch
import torch.nn.functional as Finputs = torch.tensor([[1, 2, 4, 5], [4, 3, 2, 10]])
embedding_matrix = torch.rand(10, 3)
print(embedding_matrix)
print(F.embedding(inputs, embedding_matrix))

那么报错如下:
在这里插入图片描述

3. 解决方法

知道报错原因之后,那么需要弄清楚的就是 inputs 中为什么会出现超过 embedding_matrix 权重表长度的数,这里就需要具体分析了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143722.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

游戏如何检测加速外挂

在游戏面临的众多外挂风险中,除了常见的内存修改挂、注入挂等作弊手段,黑灰产还常用「加速」手段实现作弊。 游戏安全风险分布占比图 「加速」顾名思义是指改变游戏内的速度。游戏在运行中需要以帧为单位播放画面,而计算每帧动画播放所需时间…

代码随想录算法训练营第3天|链表理论基础、203. 移除链表元素、 707.设计链表、 206.反转链表

目录 链表理论基础203. 移除链表元素1、题目描述2、思路3、code4、复杂度分析 707. 设计链表1、题目描述2、思路3、code 206. 反转链表1、题目描述2、思路3、code4、复杂度分析 链表理论基础 ❤️链表增删的时间复杂度都是 O ( 1 ) O(1) O(1),适合动态增删&#xf…

C语言进阶【4】---数据在内存中的存储【1】(你不想知道数据是怎样存储的吗?)

本章概述 整数在内存中的存储大小端字节序和字节序判断练习1练习2练习3练习4练习5练习6 彩蛋时刻!!! 整数在内存中的存储 回忆知识:在讲操作符的那章节中,对于整数而言咱们讲过原码,反码和补码。整数分为有…

【初阶数据结构】一文讲清楚 “堆” 和 “堆排序” -- 树和二叉树(二)(内含TOP-K问题)

文章目录 前言1. 堆1.1 堆的概念1.2 堆的分类 2. 堆的实现2.1 堆的结构体设置2.2 堆的初始化2.3 堆的销毁2.4 添加数据到堆2.4.1 "向上调整"算法 2.5 从堆中删除数据2.5.1 “向下调整”算法 2.6 堆的其它各种方法接口函数 3. 堆排序3.1 堆排序的代码实现 4. TOP-K问题…

CWFED:自然灾害检测数据集(猫脸码客 第192期)

Cyclone Wildfire Flood Earthquake Database 在自然灾害频发的今天,准确、及时地获取并分析相关数据对于灾害预防、预警及响应至关重要。为此,Cyclone Wildfire Flood Earthquake Database(以下简称CWFE Database)应运而生&…

PostgreSQL 的log_hostname 参数测试

PostgreSQL 的log_hostname 参数测试 log_hostname 是 PostgreSQL 配置文件 (postgresql.conf) 中的一个参数,用于控制是否在日志条目中记录客户端主机名。默认情况下,PostgreSQL 只记录客户端的IP地址,而 log_hostname 参数允许数据库管理员…

使用FLBOOK快速制作3D电子版翻页产品册

​随着数字化时代的到来,传统纸质产品册已逐渐无法满足人们快节奏、便捷的生活方式。而FLBOOK,一款强大的3D电子版翻页产品册制作工具,凭借其简洁的操作界面、丰富的功能和出色的展示效果,已成为越来越多企业的首选。 1.要制作电子…

1:java的介绍与基础1:变量,数据类型与数学运算符

1.1Java的开始 从今天开始,我将更新一下关于学习Java的笔记,文章,希望大家支持。这个Java吧,感觉本质上逻辑始于python很类似,但是吧它的表达更加繁琐难懂,所以我还是喜欢python,比较简介明了。…

获取java jdk包的方式记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、OpenLogic方式二、华为源下载 前言 记录一下获取java jdk的方式方法。 一、OpenLogic方式 网址:https://www.openlogic.com/openjdk-download…

OCR两篇革命之作

DocOwl2 参考 阿里8B模型拿下多页文档理解新SOTA,324个视觉token表示一页,缩减80% mPLUG-DocOwl 2聚焦多页文档理解,兼顾效果和效率,在大幅缩减单页视觉token的前提下实现了多页文档理解的SOTA效果。 仅用324个token表示文档图…

相亲交易系统源码详解与开发指南

随着互联网技术的发展,越来越多的传统行业开始寻求线上转型,其中就包括婚恋服务。传统的相亲方式已经不能满足现代人快节奏的生活需求,因此,开发一款基于Web的相亲交易系统显得尤为重要开发者h17711347205。本文将详细介绍如何使用…

API接口在不同编程语言中是如何实现的?

API接口是现代软件开发中的关键技术,它允许不同的软件系统相互通信和交换数据。在不同的编程语言中,API接口的实现方式可能会有所不同,但它们的核心概念是一致的:提供一组预定义的方法和协议,使得开发者可以访问特定的…

SpringCloud~

帮你轻松入门SpringCloud~ 1 微服务概述 1.1什么是微服务 如idea中使用maven建立的一个个moudle,它具体是使用SpringBoot开发的一个小模块,专业的事交给专业的模块来做,每个模块完成一个具体的任务或功能。 1.2 什么是微服务架构 它将单一应用…

SAP B1 流程实操 - 营销单据销售部分(上)

背景 在 SAP B1 中,最重要的模块就是【销售】,企业可能不涉及生产和库存(贸易公司),甚至不涉及采购(服务业),但是一定会有基本的 销售。本文中我们讲解 销售 模块的基本核心&#x…

持续低迷的大环境下,写给技术人几句掏心窝的话

文章目录 一、写在前面二、职业发展:兴趣是关键点三、关于职业规划四、做事认真,提升效率五、不要怕事,多经历总是好的六、走技术还是走管理七、关于跳槽八、认识个人与团队的关系,并且学会自我管理九、做好知识归档、写好文档十、…

ORA-28032 Your password has expired and the database is set to read only

做个记录。 non-cdb 处于只读状态,CDB创建到noncdb的dblink后产生的报错,dblink可以成功创建,但无法连接到non-cdb。 解决:一开始以为是cdb的密码不正确,mos上找到问题,non-cdb的密码过期了,并且…

卷积神经网络(Convolutional Neural Network,CNN)

CNN网络主要有三部分构成:卷积层、池化层和全连接层构成,其中卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量级(降维);全连接层类似神经网络的部分,用来输出想要的结果。 卷积思想 卷积Convolution&#x…

对人像图添加指定光源,再进行二次扩图

在一些业务场景中,需要对人像图片添加特定光源,来增加氛围感,例如赛博朋克科技、海边夕阳余晖、以及红蓝相间的高冷;但实现这个功能的难点是:如何将光源与原图片融合,在图片上产生正常光的镜面反射&#xf…

【已解决】Chrome浏览器被2024年新版流氓软件劫持,总会自动打开hao.360.com和so.com主页

最近我家里电脑的 Chrome 浏览器每次启动时都会自动打开 hao.360.com (有时是 www.so.com)主页。此时在浏览器地址栏手动输入 chrome://version ,可见命令行被强制加上一个 360 链接: 我在网上找解决方法,看到大部分都…

File异常(获取并遍历)

1.当调用者File表示的路径不存在时,返回null 2.当调用者File表示的路径是文件时,返回null 3.当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组 4.当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和…