最近看到很多很精美的AI图片,也想体验下,正好我有台2vCPU和2G内存轻量云服务器,但是不想再额外买GPU,就想着用CPU模式自己部署,部署经过摸索能顺利完成,但是加载模型已经很吃力,老是提示没有足够内存。本过程主要是用来记录部署的详细过程,仅针对于CPU跑Stable-diffusion-webui。
1、机器配置要求
机器的配置要求主要是针对CPU模式云部署Stable-diffusion-webui。CPU:任何现代AMD或Intel CPU。内存:至少8G内存。存储:这个其实影响不大。显卡: 不影响。系统: centos。
2、配置Python环境
2.1 Miniconda3安装
Miniconda是一款小巧的python环境管理工具,安装包大约只有100M多点,安装程序中包含conda软件包管理器和Python。
下载:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
安装:
sh ./Miniconda3-2022.10-Linux-x86_64.sh
配置环境变量:
vim /root/.bashrc export PATH="/root/miniconda3/bin:$PATH" source /root/.bashrc
环境验证
conda
输入conda回车返回,展示如下图,表示Miniconda3安装。
2.2 环境创建
创建名称为sd的环境,其中python版本为3.10.6
conda create -n sd python=3.10.6
查看Miniconda3所有环境,sd环境已经创建成功。
conda env list
2.3 环境激活
Miniconda3默认是base环境,激活成功后base变成sd。
conda activate sd
3、 stable-diffusion-webui安装
3.1 文件下载
使用git拉取文件,进入stable-diffusion-webui目录
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.gitcd stable-diffusion-webui
为顺利下载各个依赖文件,在进行部署之前我们先设置下镜像源和github下载设置。如您已经通过特殊途径解决此问题,可不进行配置。
*镜像源设置
在部署之前需提前设置镜像源,不然会一直下载失败。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/pip config set install.trusted-host mirrors.aliyun.com
提供其他国内可用的镜像源。
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
*加速github下载
git config --global url."https://ghproxy.com/".insteadOf https://
3.2 参数设置
由于我的云服务器没有GPU,所以需要在执行部署文件前提前设置下参数。进入webui-user.sh文件,在文件开始添加use_venv、can_run_as_root、CUDA_VISIBLE_DEVICES、COMMANDLINE_ARGS参数。
vim webui-user.sh
CUDA_VISIBLE_DEVICES:选择要用于具有多个 GPU 的系统上的实例的 GPU。 例如,如果您想使用辅助 GPU,请输入“1”。我们是基于CPU,设置为-1。
COMMANDLINE_ARGS:主程序的附加命令行参数。
listen | 开启监听 |
enable-insecure-extension-access | 开启扩展模块 |
use-cpu | CPU模式 |
no-half --precision | 非半精度 |
skip-torch-cuda-test | 不检查CUDA是否能够正常工作 |
share | 公开 |
3.3 执行部署
执行webui.sh文件,会进行依赖的文件下载,下载完成就会启动浏览器页面,当看到具体URL时,代表启动成功,可以直接点击进入
./webui.sh
4、模型下载
启动起来的页面中checkpoint中没有模型可以加载,可以通过https://huggingface.co/下载模型文件,不过目前该网站需要特殊渠道,我下载的是v1-5-pruned-emaonly.ckpt文件。模型文件放到Stable-diffusion-webui/models/Stable-diffusion目录中。