文章目录
- 模型效果演示
- 问题描述
- 分析一
- 分析二
ChatGLM-6B是一个由清华大学和智谱AI联合研发的开源对话语言模型。它是一个支持中英双语问答的对话系统,并在中文方面进行了特别的优化。
该模型基于General Language Model (GLM)架构,具有62亿参数。借助模型量化技术,用户可以在消费级的显卡上进行本地部署,INT4量化级别下最低只需6GB显存。ChatGLM-6B使用了和ChatGLM相同的技术,针对中文问答和对话进行了优化经过约1T标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62亿参数的ChatGLM-6B已经能生成相当符合人类偏好的回答。
总之,ChatGLM-6B在语言生成和对话方面表现出了非常出色的能力,可以广泛应用于人机交互、自然语言处理、智能客服等领域。
模型效果演示
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
response, history = model.chat(tokenizer, "介绍一下你自己", history=history)
print(response)
我是人工智能助手 ChatGLM-6B,由清华大学 KEG 实验室和智谱 AI 公司于 2023年 共同训练开发而成,
具有语言理解、文本生成和对话等功能。我的任务是针对用户的问题和要求提供适当的答复和支持。
response, history = model.chat(tokenizer, "推荐一部电影", history=history)
print(response)
如果喜欢动作片,可以推荐《速度与激情》系列。
这是一部非常经典的电影,讲述了一群高速赛车手在赛车世界中的奋斗和冒险,同时也展现了他们的友谊、家庭和人生价值观。
这部电影非常引人入胜,具有非常强烈的情感色彩,同时也具有非常精彩的动作场面。
问题描述
运行bash train.sh,出现ModuleNotFoundError
D:\ptuning> bash train.sh
Traceback (most recent call last):File "main.py", line 26, in <module>import numpy as np
ModuleNotFoundError: No module named 'numpy'
D:\ptuning>
分析一
可能是main.py找不到numpy文件的路径,添加一个即可
步骤一 查找numpy的位置
import numpy
numpy.__path__
步骤二 在main.py文件中增加路径
try:import numpy as np
except:import syssys.path.append("D:\\anaconda\\lib\\site-packages")import numpy
步骤三 运行 bash train.sh
出现error
D:\ptuning> bash train.sh> bash train.sh
Traceback (most recent call last):File "main.py", line 27, in <module>import numpy as np
ModuleNotFoundError: No module named 'numpy'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "D:/anaconda/lib/site-packages/numpy/core/__init__.py", line 23, in <module>from . import multiarrayFile "D:/anaconda/lib/site-packages/numpy/core/multiarray.py", line 10, in <module>from . import overridesFile "D:/anaconda/lib/site-packages/numpy/core/overrides.py", line 6, in <module>from numpy.core._multiarray_umath import (
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "main.py", line 31, in <module>import numpyFile "D:/anaconda/lib/site-packages/numpy/__init__.py", line 140, in <module>from . import coreFile "D:/anaconda/lib/site-packages/numpy/core/__init__.py", line 49, in <module>raise ImportError(msg)
ImportError: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.We have compiled some common reasons and troubleshooting tips at:https://numpy.org/devdocs/user/troubleshooting-importerror.htmlPlease note and check the following:* The Python version is: Python3.9* The NumPy version is: "1.23.5"and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.Original error was: No module named 'numpy.core._multiarray_umath'
步骤四
提示要求确定numpy版本,python版本,并确认main文件所需版本是否与现有版本一致
在开始栏输入cmd打开命令提示符,输入下列代码,分别查看python、numpy版本
python
import numpy
numpy.__version__
效果如图
步骤五
根据要求重新安装numpy版本
解决问题
若问题未解决,见分析二
分析二
创建虚拟环境,在虚拟环境中运行 bash 代码
步骤一 创建虚拟环境
# 创建虚拟环境 test
conda create -n test python==3.8
# 激活虚拟环境
source activate env
# 正常运行代码
bash train.sh
根据系统提示,安装相应库
运行成功后
步骤二 退出虚拟环境
# 退出虚拟环境
source deactivate