【备忘】CogVLM2环境搭建1 —— 基础环境

§ 背景

repo 缺少 installation guide,各种版本对齐限制,导致了不得不写下来。

一开始我是这样的(千万别学)

cuda 12.1
torch 2.3.0
torchvision 0.18+cu121

conda和pip混用,而且这个不行就换另一个。

§ 总体原则

1. 用requirements.txt 的最低版本

2. 用Cudatoolkit 11.8

3. 包管理尽量用conda,然后才是pip,但同一个包不要用两个工具都装,如果用conda装过,先卸掉,然后再用pip装,反之亦然。

§ 安装步骤

1. 建一个conda虚拟环境(留意python版本)

conda create -n cogvlm2 python=3.10.14
conda activate cogvlm2

2. 装cudatoolkit11.8

conda install cudatoolkit==11.8

3. 安装pytorch2.0

按照requirements的最低版本是2.0.0,但实际上按照Pytorch官网,2.0支持最高cuda11.8, 2.0以上就会有cuda12.1,如果用了cuda12.1噩梦就来了。

conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia

4. 安装requirements

但,不要用conda install --file 或者 pip install -r。因为requirements.txt 里面用到了>=,个人觉得就是最大的一个坑!我的方法是先用conda search <pkg_name>,找到符合要求的包就用最低版本安装,找不到就用pip,但是要留意pip在安装中会卸掉一些你前面装好的包,这也是一个天坑,例如那个xformers,如果不加版本,它会装最新的,然后它会给你卸掉原来装好的pytorch2.0 然后给你装最新的pytorch2.3.1,然后跑模型的时候就会报下面这个错误:

RuntimeError: operator torchvision::nms does not exist

这坑也是没谁了。为了节省大家时间,我把我的环境贴在下面,大家可以参考。之所以说参考,因为不是所有的包都可以通过conda或者pip安装,因此转成yaml或者txt也没用,

#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
_openmp_mutex             5.1                       1_gnu    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
accelerate                0.32.1                   pypi_0    pypi
aiofiles                  23.2.1                   pypi_0    pypi
aiohttp                   3.9.5                    pypi_0    pypi
aiosignal                 1.3.1                    pypi_0    pypi
annotated-types           0.7.0                    pypi_0    pypi
anyio                     3.7.1                    pypi_0    pypi
async-timeout             4.0.3                    pypi_0    pypi
asyncer                   0.0.2                    pypi_0    pypi
attrs                     23.2.0                   pypi_0    pypi
bidict                    0.23.1                   pypi_0    pypi
bitsandbytes              0.43.1                   pypi_0    pypi
blas                      1.0                         mkl    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
brotli-python             1.0.9           py310h6a678d5_8    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
bzip2                     1.0.8                h5eee18b_6    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
ca-certificates           2024.3.11            h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
certifi                   2024.7.4        py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
chainlit                  1.0.0                    pypi_0    pypi
charset-normalizer        2.0.4              pyhd3eb1b0_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
click                     8.1.7                    pypi_0    pypi
cuda-cudart               11.8.89                       0    nvidia
cuda-cupti                11.8.87                       0    nvidia
cuda-libraries            11.8.0                        0    nvidia
cuda-nvrtc                11.8.89                       0    nvidia
cuda-nvtx                 11.8.86                       0    nvidia
cuda-runtime              11.8.0                        0    nvidia
cudatoolkit               11.8.0               h6a678d5_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
dataclasses-json          0.5.14                   pypi_0    pypi
deprecated                1.2.14                   pypi_0    pypi
distro                    1.9.0                    pypi_0    pypi
einops                    0.8.0                    pypi_0    pypi
exceptiongroup            1.2.1                    pypi_0    pypi
fastapi                   0.100.1                  pypi_0    pypi
fastapi-socketio          0.0.10                   pypi_0    pypi
ffmpeg                    4.3                  hf484d3e_0    pytorch
filelock                  3.13.1          py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
filetype                  1.2.0                    pypi_0    pypi
freetype                  2.12.1               h4a9f257_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
frozenlist                1.4.1                    pypi_0    pypi
fsspec                    2024.6.1                 pypi_0    pypi
gmp                       6.2.1                h295c915_3    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
gmpy2                     2.1.2           py310heeb90bb_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
gnutls                    3.6.15               he1e5248_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
googleapis-common-protos  1.63.2                   pypi_0    pypi
grpcio                    1.64.1                   pypi_0    pypi
h11                       0.14.0                   pypi_0    pypi
httpcore                  0.17.3                   pypi_0    pypi
httpx                     0.24.1                   pypi_0    pypi
huggingface-hub           0.23.0                   pypi_0    pypi
idna                      3.7             py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
importlib-metadata        7.1.0                    pypi_0    pypi
intel-openmp              2023.1.0         hdb19cb5_46306    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
jinja2                    3.1.4           py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
jpeg                      9e                   h5eee18b_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
lame                      3.100                h7b6447c_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
lazify                    0.4.0                    pypi_0    pypi
lcms2                     2.12                 h3be6417_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
ld_impl_linux-64          2.38                 h1181459_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
lerc                      3.0                  h295c915_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libcublas                 11.11.3.6                     0    nvidia
libcufft                  10.9.0.58                     0    nvidia
libcufile                 1.9.1.3                       0    nvidia
libcurand                 10.3.5.147                    0    nvidia
libcusolver               11.4.1.48                     0    nvidia
libcusparse               11.7.5.86                     0    nvidia
libdeflate                1.17                 h5eee18b_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libffi                    3.4.4                h6a678d5_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libgcc-ng                 11.2.0               h1234567_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libgomp                   11.2.0               h1234567_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libiconv                  1.14                          0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
libidn2                   2.3.4                h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libnpp                    11.8.0.86                     0    nvidia
libnvjpeg                 11.9.0.86                     0    nvidia
libpng                    1.6.39               h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libstdcxx-ng              11.2.0               h1234567_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libtasn1                  4.19.0               h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libtiff                   4.5.1                h6a678d5_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libunistring              0.9.10               h27cfd23_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libuuid                   1.41.5               h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libwebp-base              1.3.2                h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
literalai                 0.0.1                    pypi_0    pypi
loguru                    0.7.2                    pypi_0    pypi
lz4-c                     1.9.4                h6a678d5_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
markupsafe                2.1.3           py310h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
marshmallow               3.21.3                   pypi_0    pypi
mkl                       2023.1.0         h213fc3f_46344    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl-service               2.4.0           py310h5eee18b_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl_fft                   1.3.8           py310h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl_random                1.2.4           py310hdb19cb5_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mpc                       1.0.3                         0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
mpfr                      4.0.2                hb69a4c5_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mpmath                    1.3.0           py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
multidict                 6.0.5                    pypi_0    pypi
mypy-extensions           1.0.0                    pypi_0    pypi
ncurses                   6.4                  h6a678d5_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
nest-asyncio              1.6.0                    pypi_0    pypi
nettle                    3.7.3                hbbd107a_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
networkx                  3.3             py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
numpy                     1.26.4          py310h5f9d8c6_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
numpy-base                1.26.4          py310hb5e798b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
openai                    1.30.1                   pypi_0    pypi
openh264                  2.1.1                h4ff587b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
openjpeg                  2.4.0                h9ca470c_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
openssl                   3.0.14               h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
opentelemetry-api         1.25.0                   pypi_0    pypi
opentelemetry-exporter-otlp 1.25.0                   pypi_0    pypi
opentelemetry-exporter-otlp-proto-common 1.25.0                   pypi_0    pypi
opentelemetry-exporter-otlp-proto-grpc 1.25.0                   pypi_0    pypi
opentelemetry-exporter-otlp-proto-http 1.25.0                   pypi_0    pypi
opentelemetry-instrumentation 0.46b0                   pypi_0    pypi
opentelemetry-proto       1.25.0                   pypi_0    pypi
opentelemetry-sdk         1.25.0                   pypi_0    pypi
opentelemetry-semantic-conventions 0.46b0                   pypi_0    pypi
packaging                 23.2                     pypi_0    pypi
pillow                    10.3.0          py310h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
pip                       24.0            py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
protobuf                  4.25.3                   pypi_0    pypi
psutil                    6.0.0                    pypi_0    pypi
pydantic                  2.8.2                    pypi_0    pypi
pydantic-core             2.20.1                   pypi_0    pypi
pyjwt                     2.8.0                    pypi_0    pypi
pyre-extensions           0.0.23                   pypi_0    pypi
pysocks                   1.7.1           py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
python                    3.10.14              h955ad1f_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
python-dotenv             1.0.1                    pypi_0    pypi
python-engineio           4.9.1                    pypi_0    pypi
python-graphql-client     0.4.3                    pypi_0    pypi
python-multipart          0.0.6                    pypi_0    pypi
python-socketio           5.11.3                   pypi_0    pypi
pytorch                   2.0.0           py3.10_cuda11.8_cudnn8.7.0_0    pytorch
pytorch-cuda              11.8                 h7e8668a_5    pytorch
pytorch-mutex             1.0                        cuda    pytorch
pyyaml                    6.0.1                    pypi_0    pypi
readline                  8.2                  h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
regex                     2024.5.15                pypi_0    pypi
requests                  2.32.2          py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
safetensors               0.4.3                    pypi_0    pypi
setuptools                69.5.1          py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
simple-websocket          1.0.0                    pypi_0    pypi
sniffio                   1.3.1                    pypi_0    pypi
sqlite                    3.45.3               h5eee18b_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
sse-starlette             2.1.2                    pypi_0    pypi
starlette                 0.27.0                   pypi_0    pypi
sympy                     1.12            py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
syncer                    2.0.3                    pypi_0    pypi
tbb                       2021.8.0             hdb19cb5_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
timm                      0.9.16                   pypi_0    pypi
tk                        8.6.14               h39e8969_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
tokenizers                0.19.1                   pypi_0    pypi
tomli                     2.0.1                    pypi_0    pypi
torchaudio                2.0.0               py310_cu118    pytorch
torchtriton               2.0.0                     py310    pytorch
torchvision               0.15.0              py310_cu118    pytorch
tqdm                      4.66.4                   pypi_0    pypi
transformers              4.40.0                   pypi_0    pypi
typing-inspect            0.9.0                    pypi_0    pypi
typing_extensions         4.11.0          py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
tzdata                    2024a                h04d1e81_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
uptrace                   1.24.0                   pypi_0    pypi
urllib3                   2.2.2           py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
uvicorn                   0.23.2                   pypi_0    pypi
watchfiles                0.20.0                   pypi_0    pypi
websockets                12.0                     pypi_0    pypi
wheel                     0.43.0          py310h06a4308_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
wrapt                     1.16.0                   pypi_0    pypi
wsproto                   1.2.0                    pypi_0    pypi
xformers                  0.0.18                   pypi_0    pypi
xz                        5.4.6                h5eee18b_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
yarl                      1.9.4                    pypi_0    pypi
zipp                      3.19.2                   pypi_0    pypi
zlib                      1.2.13               h5eee18b_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
zstd                      1.5.5                hc292b87_2    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

另外,我把/basic_demo/requirements.txt 的内容改了一下,安装时参考这个更快。(修改了一下,直接把顺序,包和命令都写下来)

先用 conda装以下包(假设你的torch, torchvision, torchaudio都已经装好了)

conda install accelerate==0.32.1 transformers==4.40 pillow pydantic==2.8.2 timm==0.9.16 openai==1.30.1 loguru==0.7.2 einops==0.8.0 sse-starlette==2.1.0 bitsandbytes==0.43.1 

然后用pip安装以下包

pip install xformers==0.0.18 huggingface-hub==0.23.0 chainlit==1.0

最后跑起来了,但其实还有问题,可以参考第二篇

(cogvlm2) think@xsyDL-4090solo:~/CogVLM2-main/basic_demo$ python cli_demo.py --quant 4
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████| 8/8 [00:04<00:00,  1.94it/s]
image path >>>>>
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值