pytorch:IndexError:索引超出自身范围

问题描述 投票:0回答:1

我正在按照此 github 代码 尝试使用我自己的聊天来运行模型。我能够修复一些最初对我不起作用的事情(正则表达式、引导 txt 文件时的编码)

我的文件中有 764 个唯一标记,当我运行 run.py train --update 函数时,出现此错误。

Loaded existing model to continue training.
Parameters to be optimized: 4831966

Traceback (most recent call last):
  File "E:\VS Code Projects\.venv\codes\new\lad-gpt\run.py", line 20, in <module>
    main()
  File "E:\VS Code Projects\.venv\codes\new\lad-gpt\run.py", line 15, in main
    train.model_training(args.update)
  File "E:\VS Code Projects\.venv\codes\new\lad-gpt\src\train.py", line 55, in model_training
    train_loss = estimate_loss(model, train_data)
  File "E:\VS Code Projects\.venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "E:\VS Code Projects\.venv\codes\new\lad-gpt\src\utils.py", line 23, in estimate_loss
    logits, loss = model(X, Y)
  File "E:\VS Code Projects\.venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "E:\VS Code Projects\.venv\codes\new\lad-gpt\src\model.py", line 150, in forward
    tok_emb = self.token_embedding(idx)                     # (B, T, C)
  File "E:\VS Code Projects\.venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "E:\VS Code Projects\.venv\lib\site-packages\torch\nn\modules\sparse.py", line 162, in forward
    return F.embedding(
  File "E:\VS Code Projects\.venv\lib\site-packages\torch\nn\functional.py", line 2210, in embedding
    return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
IndexError: index out of range in self

我需要做哪些改变才能使这项工作成功?

我尝试查看 nn.embedding、词汇大小等,但代码使用 len(vocab) 消除了嵌入函数的任何错误。嵌入大小为 256,我尝试了更高和更低的值,但仍然有相同的错误。我不完全明白进一步继续的错误是什么。

python pytorch large-language-model word-embedding gpt-2
1个回答
0
投票

我也遇到了同样的问题。 我正在用自己的数据训练 NLP。

我提供给模型的数据解析不正确。我没有对单词或句子进行标记,而是对整个文本进行标记并将其保存为单个标记。

只需检查您提供的数据,您应该就能看到问题。

© www.soinside.com 2019 - 2024. All rights reserved.