You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch出现Index Out of Range in self错误 推荐模型预测报错如何解决

PyTorch推荐引擎预测Index out of range报错原因

这个报错绝大多数场景由Embedding层索引越界触发,少数由代码语法/变量错误导致,具体原因如下:

  • 低级变量/语法错误
    你给出的代码片段本身存在两处基础错误:
    1. 列名引用漏写引号:input['user_id]、input['content_id] 需改为 input['user_id']、input['content_id']
    2. 变量名不匹配:你将ID列表存储到了users、content变量中,转张量时却调用了未定义的user_id、content_id变量,修正为:
    user_id_tensor = torch.tensor(users, dtype=torch.long)
    content_id_tensor = torch.tensor(content, dtype=torch.long)
    
  • Embedding层索引越界(最常见原因)
    PyTorch的nn.Embedding要求输入的索引必须在[0, num_embeddings - 1]范围内,超出就会触发该报错,推荐场景下通常由两种问题导致:
    1. 未做ID连续映射:直接使用原始业务ID作为Embedding输入,训练时的最大ID小于预测时的输入ID,比如训练时用户最大ID是1,Embedding的num_embeddings设为2,预测时传入了ID为2的用户,超出索引范围
    2. 训练/预测映射逻辑不一致:训练时你对原始ID做了重映射(比如原始ID1映射为0、原始ID2映射为1),但预测时没有复用同一套映射表转换输入ID,直接传入原始ID导致索引越界
  • 张量数据类型错误
    输入ID的张量如果是浮点型,也会触发索引校验错误,转张量时必须指定为torch.long整型。

内容的提问来源于stack exchange,提问作者titu84hh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 10:48:04