0. Conclusion
1. easyphoto
1.0 envs
这里有以下几个主要的坑:
(1)首先sdwebui需要去固定一下最新的1.6版本的几个包的版本
- accelerate==0.23.0
- fsspec==2023.9.2
(2)其次是需要使用官网的torch安装方式去安装torch(不能用./webui.sh安装的 or pip whl手动安装的)
- torch 2.0.1
- python 3.10.6
- cuda 11.8 (软连接的cuda)
(3)然后是要注意 需要使用双卡去 启动sdweb 虽然后面推理是单卡
单卡启动下面这个文件
./stable-diffusion-webui/venv/lib/python3.10/site-packages/accelerate/state.py
中的
torch.cuda.set_device(self.device)
会有个device受到进程影响不受控+1的错误,因为这里的ddp写法是有点问题的,会导致cuda的device不一致导致bug
2. facechain
(1) cuda切版本的时候,记得把bashrc正确设置,按照如下方法(之前按照chat的来,失效了,导致cuda出bug)
####Jack Change CUDA Version 1102
export LD_LIBRARY_PATH=/data6/huangjiehui_m22/cuda_version/cuda-11.8/lib64:$LD_LIBRARY_PATH
export PATH=/data6/huangjiehui_m22/cuda_version/cuda-11.8/bin:$PATH
export CUDA_HOME=/data6/huangjiehui_m22/cuda_version/cuda-11.8
(2)torch版本要按照官方的来安装,whl强行容易不兼容后面的环境,本服务器最终采用的环境如下
pytorch 2.0.0 py3.8_cuda11.8_cudnn8.7.0_0 pytorch
pytorch-cuda 11.8 h7e8668a_5 pytorch
pytorch-mutex 1.0 cuda pytorch
torchaudio 2.0.0 py38_cu118 pytorch
torchtriton 2.0.0 py38 pytorch
torchvision 0.15.0 py38_cu118 pytorch
(3)mmcv和mmdet要搭配好,不然会出现mmcv无法编译(can not compiled)的bug
(这里当时卡了很久,尝试了各种mmcv版本,最后还是用下面这套才行,mmcv>2.0.0的这份代码不兼容!mmcv-full官网已经升级命名mmcv(2.0.0之后))
mmcv-full 1.7.0 pypi_0 pypi
mmdet 2.26.0 pypi_0 pypi
(4)解决以上麻烦后,就是datasets和cuda的问题了(最后1108这一天解决,使用各种pdb看源码+对比成功案例才解决的)
(4-1)accelator问题
使用accelator会导师device的顺序出错
关键是,使用双卡的话,device不错,但是ddp启动又会错
(4-2)datasets中出现[image,text]和[image]不匹配的bug,原因就是高版本datasets没能提出来text信息!
Successfully uninstalled datasets-2.14.6
Successfully installed datasets-2.13.0
Successfully uninstalled fsspec-2023.10.0
Successfully installed fsspec-2023.9.2