配置基于stable diffusion预训练模型的环境,记录踩坑记录

一、xFormers版本问题

xformers是用来加速推理的,但是和pytorch的版本有兼容问题,需要安装对应的版本,否则会报错。

1、先确认下自己torch版本所对应的cuda版本

可以使用以下代码进行查看

import torch
print(torch.version.cuda)

然后命令行 pip list 查看torch 版本,根据 torch 和cuda版本进本xformer版本的查找

1.1 查找方式1,官网查找

然后确认xformer版本,进去网站https://github.com/facebookresearch/xformers/tree/v0.0.27
点击不同的tag
在这里插入图片描述
下面有对应的torch版本
在这里插入图片描述

1.1 查找方式2,conda库查找(个人使用,比较准)
 https://anaconda.org/xformers/xformers/files

上面每个包有对应的版本信息,xformer python pytorch cuda
在这里插入图片描述

2.安装对应版本

安装方式有三种

(1) 到对应官网下载包本地安装

如果是pip安装到这里

 https://download.pytorch.org/whl/cu118

如果是conda安装到这里

 https://anaconda.org/xformers/xformers/files

上面有不同版本及对应关系,如果不知道当前版本需要安装哪个xFormers版本,可以在这找找

(2)代码安装

上面网站conda 查找到需要安装的版本,直接pip安装

pip3 install xformers==0.0.26.post1 

或者直接代码安装

pip3 install -U xformers --index-url https://download.pytorch.org/whl/cu118

后面的cu118换成自己的cuda版本,但是有可能torch版本会给你换掉,注意看下

二、attn_mask尺寸错误

出现这个问题RuntimeError: The shape of the 2D attn_mask is torch.Size([77, 77]), but should be (1, 1)

一般需要查看transformersopen-clip-torch 版本,让其和官方requirements.txt一致。反正就是升降级

三、diffusers

如果发现找不到diffusers,可以尝试安装一下更低or更高的版本,最好和官方requirements.txt一致

四、Huggingface

如果发现找不到Huggingface,可以尝试安装一下更低or更高的版本,最好和官方requirements.txt一致

五、mmcv

mmcv,这个要注意mmcv<2.0.0 只能使用torch1.x版本,不然是编译不通过的

六、LLAVA相关库

SUPIR 和 UAV(Upscale-A-Video) 是两个非常强大的模型,都使用到llava提取captions。
其中下面两个是比较经常使用的。

LLAVA_CLIP_PATH = 'clip-vit-large-patch14-336'
LLAVA_MODEL_PATH = 'llava-v1.5-13b'

但是24G显存不太够跑,只能使用8bit的llava,需要用到两个库,Bitsandbytes以及accelerate

直接安装就行,但是需要注意的是Bitsandbytes有个依赖库triton,这个库需要3.0.0版本以上才不会出错,如果安装的torch版本太低,要手动升级,虽然会报错,但是好像可以推理。
在这里插入图片描述

Logo

更多推荐