1 背景:
AIGC是目前的大火热点,想简单尝鲜可以使用一些厂商提供的现成的服务,也可以自己部署一个。由于后续要考虑针对OSS存储在这个场景做一些优化,所以这里自己用源码部署一个以便后续修改。
完成到效果:
2 原料准备
硬件:
ECS: gn6i-c24g ,带2个T4 GPU,开通了公网IP,后面可以通过该IP来访问UI。
软件:
操作系统: Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux
SD:https://github.com/AUTOMATIC1111/stable-diffusion-webui
pytorch:2.01
cuda:cuda_11.8
3 安装步骤
3.1 安装cuda
3.2 安装python3.10.6
https://blog.csdn.net/weixin_43695321/article/details/127593591
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
mkdir /usr/local/python3.10
cd /tmp
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
tar -xvf Python-3.10.0.tgz
cd /tmp/Python-3.10.0
./configure --prefix=/usr/local/python3.10
#根据提示执行如下代码对python解释器进行优化
#执行后无序额外配置可直接使用python3调用python编辑器
./configure --enable-optimizations
make && make install
3.3 安装 pytorch
3.4 安装 Stable Diffusion UI
下载源码:https://github.com/AUTOMATIC1111/stable-diffusion-webui
打开webui-user.sh,修改 can_run_as_root=1( 为0表示不能以root用户启动程序)
打开webui-user.sh,修改 python版本为3.10
启动webui-user.sh
bash /home/stable-diffusion-webui/webui.sh --listen --port 7860
启动过程中会安装依赖,启动成功后就可以通过页面访问
4 一些问题:
4.1 cudao安装失败
错误:
driver 520.61.05安装失败:
ERROR: Unable to find the kernel source tree for the currently running kernel. Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed. If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option.
解决办法:
安装编译环境工具kernel-devel与kernel-headers,语句如下:
apt-get install linux-headers-$(uname -r)
4.2 启动SD失败,缺失模块bz2
错误:
ModuleNotFoundError: No module named ‘_bz2’
解决办法:用其他版本的模板
cp /usr/lib/python3.9/lib-dynload/_bz2.cpython-39-x86_64-linux-gnu.so /usr/local/lib/python3.10/lib-dynload/_bz2.cpython-310-x86_64-linux-gnu.so
4.3 启动SD失败,缺失模块lzma
错误:
ModuleNotFoundError: No module named '_lzma'
解决办法:
1、sudo apt-get install lzma和 sudo apt-get install liblzma-dev
2、进入文件夹,指定安装路径中,重新编译python
cd Python-3.10.6
sudo make
sudo make install
4.4 启动SD报错
错误:
ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
解决办法:
apt-get update
apt-get install libglib2.0-dev
5 使用方法:
打开UI页面,我们发现还需要模型才生,做上角可以选择底模型,填写简单的提示词就可以生成图片。除了底模型,生成更加复杂的图片可能还需要VAE模型,Lora模型等其他模型。模型可以在C站或者liblibai下载。
底模型/大模型 |
VAE模型 |
fune tunning/微调 |
SD1.4 SD1.5 等模型,是具有通用性和泛化性的模型 |
自编码器(Variational Autoencoder,VAE),可以让图片更加清晰明亮 |
LORA等模型,用户微调和风格化图片 |
模型很大,通常数GB大小 |
通常百MB级别 |
百MB级别 |