ChatGLM2-6B中引入ptuning报错:AttributeError: ‘ChatGLMModel‘ object has no attribute ‘prefix_encoder‘

File "/home/ai/gm/ChatGLM2-6B/ptuning-v1/main.py", line 411, in <module>
    main()
  File "/home/ai/gm/ChatGLM2-6B/ptuning-v1/main.py", line 131, in main
    model.transformer.prefix_encoder.float()
  File "/home/ai/anaconda3/envs/ChatGLM2/lib/python3.10/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'

在这里插入图片描述
经查看:
https://huggingface.co/THUDM/chatglm2-6b/blob/main/configuration_chatglm.py
改文件已更新:
在这里插入图片描述
多了标红的这几行
在这里插入图片描述
在这里插入图片描述
将这几个文件下载并替换
在这里插入图片描述

在这里插入图片描述
成功解决

其他解决办法:
问题二
chatGLM模型使用官方提供的p-tuing微调方法训练完成模型后,加载启动模型权重文件报错AttributeError: ‘ChatGLMModel‘ object has no attribute ‘prefix_encoder‘

这个问题在网上找了很多相关的文章最后都是不匹配的解决方案,最终的解决方法是修改configuration_chatglm.py模块中pre_seq_len参数即可。
原文链接:https://blog.csdn.net/Together_CZ/article/details/131340838
在这里插入图片描述

https://blog.csdn.net/dzysunshine/article/details/130506521

猜你喜欢

转载自blog.csdn.net/stay_foolish12/article/details/131548716