记了下Ubuntu18 上安装chatglm2-6遇到的问题。
环境:Ubuntu18.04 + V100(显卡) + nvcc 11.6
显卡驱动+cuda+cudnn+aniconda + chatglm6b 的安装 网上有很多, 不记录 了。
chatglm2-6b 我从别的地方拷贝的, 模型也包含了。
遇到的问题:
1、执行 python web_demo.py 的时候 有如下的报错:
大致意思是,驱动太低,pytorch 太高等,使用 可以查看到 torch 的版本,但是 torch.cuda.is_available()
返回 False。
原因:确实是 conda 创建的环境下 torch安装的太高了。 使用 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 安装的时候, requirements.txt 里面 的 torch 版本写的是大于2.0 . 于是安装了最新的 版本2.1.8 , 这个版本不支持 cuda11.6 。
解决方案: requirements.txt 中执行 torch 的版本 为 2.0.1 (官方写的支持cuda11.7),11.6也是可以的, 增加 torchvision 版本0.15.2 。
如果已经安装好了 torch2.1.8 可以卸载,在重新安装
pip uninstall torch
pip3 install torch==2.0.1 torchvision==0.15.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
pytorch (torch)的版本和cuda 是有对应关系的, 可以在 pytorch 上去查看。 一般小版本的偏差没问题,比如 官网写的 torch2.0.1 支持 cuda11.7 ,但是cuda11.6 也是支持的。
2、在次执行 python web_demo.py 报错:history 需要初始化
AttributeError: st.session_state has no attribute "history". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization
不知道啥原因, 更改 web_demo2.py 的代码,怎么改都不行。
解决:使用 streamlit run web_demo2.py 启动方式 就解决了。
3、在 web_demo.py 、web_demo2.py 的代码中注意更改模型的路劲、gpu 的数量等