在conda环境下运行stable-diffusion-webui AI绘图

stable-diffusion是什么

Stable Diffusion 是一个基于Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image)模型。它由 CompVis 、 Stability AI 和 LAION 共同开发,通过 LAION-5B 子集大量的 512x512 图文模型进行训练。我们只要简单的输入一段文本,Stable Diffusion 就可以迅速将其转换为图像,同样我们也可以置入图片或视频,配合文本对其进行处理。 

stable-diffusion-webui是什么

stable-diffusion-webui 是一个基于 stable-diffusion 封装的 webui 开源项目,可以通过界面交互的方式来使用 stable-diffusion ,极大的降低了使用门槛。

前言

  • stable-diffusion-webui运行依赖于python+pytorch环境,所以在安装sd-webui前先要安装python+pytorch环境;
  • 这里使用miniconda安装,更加的方便;
  • 又由于pytorch运行依赖gpu,如果使用nvidia的gpu的话,避免不了要安装cuda+cudnn;(其实pytorch的话cpu也能跑,不过非常慢)
  • 所以关于miniconda+cuda+cudnn的安装,本文不展开,需要的话去看我的上一票文章。
  • 前提:安装cuda,cuDNN,pytorch

安装Pytorch环境

  • 首先用conda创建python10的环境(为什么用pyhton10,因为stable-diffusion-webui官方推荐)
conda create -n sd_webui python=3.10.6
  • 进入Pytorch官网选择合适的pytorch版本,根据自己cuda版本选择
  • 使用nvidia-smi命令查看自己gpu的cuda版本,右上角CUDA Version便是cuda版本,选择比这个低的
  • 安装pytorch
# 我的话是选择这个版本的
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.7 -c pytorch -c nvidia

下载stable-diffusion-webui

  • 使用git拉取项目
# 网络慢的自己想办法了(一般这个开github的代理)
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

运行安装

  • 克隆环境
# 为什么要克隆环境呢,是怕要是安装出问题了,pytorch不用重新安装
# 上面我们已经创建了一个sd_webui的pytorch环境,我们将sd_webui克隆一个为pytorch基础环境
conda create -n pytorch --clone sd_webui

# 查看环境列表
conda env list
  • 下载模型(这一步推荐先做)
# 1. 进入这个网站下载一个模型:https://civitai.com/models
# 2. 将模型放到stable-diffusion-webui/models/Stable-diffusion目录下
# 3. 模型可以按你的习惯进行重命名,好区分
  • 进入stable-diffusion-webui根目录
# 执行,下载依赖(指定阿里云镜像源下载,要不然容易下载失败)
pip install -r requirements.txt ---index-url=https://mirrors.aliyun.com/pypi/simple/

# 如果下载过程中有的依赖出错了,就用pip install 包名 手动下载(或者更换其它镜像源下载)
  • 在stable-diffusion-webui下执行
# 克隆一份(防止改坏)
cp webui.sh my-webui.sh

# 编辑my-webui.sh
# 将第一行的变量改为1
use_venv=0
# 在首行添加以下内容
export COMMANDLINE_ARGS="--listen --enable-insecure-extension-access"

# 保存退出
# 开启代理,执行my-weiui.sh (第一次运行要开代理,一定要开启代理,非常重要)(至于代理怎么开,可以自己先去学习下如何开启,配置clash)
# 运行日志中出现网页访问地址说明运行成功了

界面汉化

常见问题

  • Cannot locate TCMalloc (improves CPU memory usage)
# 执行以下命令
sudo apt-get install libgoogle-perftools4 libtcmalloc-minimal4 -y