[THUDM/ChatGLM-6B]ptuning时报错: AttributeError: 'ChatGLMModel' object has no attribute 'prefix_encoder'

2024-06-17 205 views
0

Traceback (most recent call last): File "/ChatGLM-6B/ptuning/main.py", line 392, in main() File ""/ChatGLM-6B/ptuning/main.py", line 120, in main model.transformer.prefix_encoder.float() File "/root/anaconda3/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1614, in getattr raise AttributeError("'{}' object has no attribute '{}'".format( AttributeError: 'ChatGLMModel' object has no attribute 'prefix_encoder'

sh train.sh过程中

Environment
- OS: linux
- Python: python3.9.13
- Transformers: 4.27.1
- PyTorch: 2.0.0
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

回答

4

您好,我就是下载的最新的,还报这个错误

8

@yangzhipeng1108 更新了最新模型 ,这个问题没有了哈~。就是报了很多warning

2

我的模型每次都是从仓库里获取的,肯定也都是最新的,同样也报这个错误。 WX20230419-145419

8

我也遇到过这个问题,看起来是模型载入方式不对。 你似乎是直接复用了api.py里载入模型的方式而不是main.py里的吧。我改成main.py里那种载入方式就没有报这个错了。 1

8

model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) 这行 预测时需要模型config中含有 pre_seq_len, 模型才会定义prefix_encoder