stable-diffusion-webui 部署记录
Sualiu
撰写于 2024年 06月 22 日

项目地址:

AUTOMATIC1111/stable-diffusion-webui
136587 更新于2024-07-25 02:07:04

前言

  stable-diffusion-webui 与 stable-diffusion 是俩东西,依照我的理解,stable-diffusion 是本体,是最主要的文生图大模型,是通过复杂的命令行进行操作,而 stable-diffusion-webui 则是使用Gradio框架让stable-diffusion可以通过网页可视化运行。

准备

我在这里仅记录我所拥有的环境如何部署操作,可能不全面。我可以获得的环境:
  1. 英伟达GPU(Telsa T4)
  2. Ubuntu22操作系统(GPU: 1*T4, CPU: 8, 显存: 16GB, 内存: 45GB)
  3. 国内网络环境

需要准备的软件:
  1. 安装python 3.10.6版本,也可以python 3.10.X版本。
  2. 确保机器有安装好相关的GPU驱动,GPU驱动加对应的CUDA软件,因为GPU驱动都是和CUDA同时安装使用的。驱动版本的话,最新的就行,因为驱动一般都是向下兼容的吧。
  3. 安装git软件。
  4. 一个stable-diffusion模型。

是的,必要的依赖项似乎只有这几个。

开始安装

  git clone 或下载项目文件到目录中

  可以通过 nvidia-smi 命令查看 GPU 驱动版本和CUDA版本

  不创建python虚拟环境安装,直接在项目根目录下执行 python launch.py 即可。执行 ./webui.sh 是创建python虚拟环境安装。

  这里我选择的是不创建python虚拟环境安装,这会将各种python依赖直接安装到系统,十分差劲。而创建虚拟环境安装这个默认的安装方法呢,在国内的网络环境下十分费劲,因为要下载的东西全都访问不了。这里有个bug,理论上来讲使用python虚拟环境安装和使用纯净的系统安装应该是一样的,但在我这,不创建python虚拟环境反而是最快的,因为任何依赖似乎都不用再额外下载,可能与我所使用的这个系统镜像有关,需要注意。

  可以看到,他会去git clone几个GitHub项目,这对于国内机器来说是可怕的。所以需要改一下库地址,我这使用gitee当作GitHub库镜像。这个库地址在这里:

  把这几行替换为国内镜像就行了:

    assets_repo = os.environ.get('ASSETS_REPO', "https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets.git")
    stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://github.com/Stability-AI/stablediffusion.git")
    stable_diffusion_xl_repo = os.environ.get('STABLE_DIFFUSION_XL_REPO', "https://github.com/Stability-AI/generative-models.git")
    k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://github.com/crowsonkb/k-diffusion.git')
    blip_repo = os.environ.get('BLIP_REPO', 'https://github.com/salesforce/BLIP.git')

  之后再运行python launch.py ,emm。可以看到这次便没有了问题:

  中途可能有个No module 'xformers'. Proceeding without it. 的提示,这个是个可选的模块,可以不用管。安装的话,就是 pip install xformer

  后面还可以看到这个下载模型的提示,这个模型是SD自带的一个默认模型,据说效果拉跨,不用下载,国内也下载不下来。其实呢,这是因为程序没有检测到模型文件,所以启动了下载默认模型的动作,只要将随便的一个模型文件放到模型目录就不会触发这个下载。

  将我们提前准备好的模型移动到模型目录 stable-diffusion-webui/models/Stable-diffusion/

  再次执行python launch.py,启动成功

  随后啊,就能看到这俩讨厌的报错,模型也无法加载:


  先说第一个报错的解决方法:

  在项目根目录手动创建一个名叫openai的文件夹,openai文件夹里存放 CLIP-ViT-large-patch14 项目(git clone https://gitee.com/hf-models/clip-vit-large-patch14.git

  具体介绍参考:
  1. stable-diffusion-webui报OSError: Can‘t load tokenizer for ‘openai/clip-vit-large-patch14‘的正确解决方法-CSDN博客
  2. [[Bug]: OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. (github.com)](https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/11507)

  第二个错误的解决方法:

  改 stable-diffusion-webui/modules/sd_models.py 文件send_model_to_cpu(m) 函数方法,里面加个 return

  运行一次后可以删除return

  具体介绍参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/15595

  我们再次执行 python launch.py

  一切正常,画一个图试试


  Ok,成功部署。

stable-diffusion-webui 部署记录

项目地址:

AUTOMATIC1111/stable-diffusion-webui
136587 更新于2024-07-25 02:07:04

前言

  stable-diffusion-webui 与 stable-diffusion 是俩东西,依照我的理解,stable-diffusion 是本体,是最主要的文生图大模型,是通过复杂的命令行进行操作,而 stable-diffusion-webui 则是使用Gradio框架让stable-diffusion可以通过网页可视化运行。

准备

我在这里仅记录我所拥有的环境如何部署操作,可能不全面。我可以获得的环境:
  1. 英伟达GPU(Telsa T4)
  2. Ubuntu22操作系统(GPU: 1*T4, CPU: 8, 显存: 16GB, 内存: 45GB)
  3. 国内网络环境

需要准备的软件:
  1. 安装python 3.10.6版本,也可以python 3.10.X版本。
  2. 确保机器有安装好相关的GPU驱动,GPU驱动加对应的CUDA软件,因为GPU驱动都是和CUDA同时安装使用的。驱动版本的话,最新的就行,因为驱动一般都是向下兼容的吧。
  3. 安装git软件。
  4. 一个stable-diffusion模型。

是的,必要的依赖项似乎只有这几个。

开始安装

  git clone 或下载项目文件到目录中

  可以通过 nvidia-smi 命令查看 GPU 驱动版本和CUDA版本

  不创建python虚拟环境安装,直接在项目根目录下执行 python launch.py 即可。执行 ./webui.sh 是创建python虚拟环境安装。

  这里我选择的是不创建python虚拟环境安装,这会将各种python依赖直接安装到系统,十分差劲。而创建虚拟环境安装这个默认的安装方法呢,在国内的网络环境下十分费劲,因为要下载的东西全都访问不了。这里有个bug,理论上来讲使用python虚拟环境安装和使用纯净的系统安装应该是一样的,但在我这,不创建python虚拟环境反而是最快的,因为任何依赖似乎都不用再额外下载,可能与我所使用的这个系统镜像有关,需要注意。

  可以看到,他会去git clone几个GitHub项目,这对于国内机器来说是可怕的。所以需要改一下库地址,我这使用gitee当作GitHub库镜像。这个库地址在这里:

  把这几行替换为国内镜像就行了:

    assets_repo = os.environ.get('ASSETS_REPO', "https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets.git")
    stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://github.com/Stability-AI/stablediffusion.git")
    stable_diffusion_xl_repo = os.environ.get('STABLE_DIFFUSION_XL_REPO', "https://github.com/Stability-AI/generative-models.git")
    k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://github.com/crowsonkb/k-diffusion.git')
    blip_repo = os.environ.get('BLIP_REPO', 'https://github.com/salesforce/BLIP.git')

  之后再运行python launch.py ,emm。可以看到这次便没有了问题:

  中途可能有个No module 'xformers'. Proceeding without it. 的提示,这个是个可选的模块,可以不用管。安装的话,就是 pip install xformer

  后面还可以看到这个下载模型的提示,这个模型是SD自带的一个默认模型,据说效果拉跨,不用下载,国内也下载不下来。其实呢,这是因为程序没有检测到模型文件,所以启动了下载默认模型的动作,只要将随便的一个模型文件放到模型目录就不会触发这个下载。

  将我们提前准备好的模型移动到模型目录 stable-diffusion-webui/models/Stable-diffusion/

  再次执行python launch.py,启动成功

  随后啊,就能看到这俩讨厌的报错,模型也无法加载:


  先说第一个报错的解决方法:

  在项目根目录手动创建一个名叫openai的文件夹,openai文件夹里存放 CLIP-ViT-large-patch14 项目(git clone https://gitee.com/hf-models/clip-vit-large-patch14.git

  具体介绍参考:
  1. stable-diffusion-webui报OSError: Can‘t load tokenizer for ‘openai/clip-vit-large-patch14‘的正确解决方法-CSDN博客
  2. [[Bug]: OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. (github.com)](https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/11507)

  第二个错误的解决方法:

  改 stable-diffusion-webui/modules/sd_models.py 文件send_model_to_cpu(m) 函数方法,里面加个 return

  运行一次后可以删除return

  具体介绍参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/15595

  我们再次执行 python launch.py

  一切正常,画一个图试试


  Ok,成功部署。


下一篇
没有了
赞 (2)

评论区(3条评论)

我要评论


moe
LV2
  

ComfyUI 功能更多一些,感觉也不错×

回复 0
不亦乐乎
LV1
  

原来我用国内大佬的包安装成功了,长久没用启动器不知道为什么失效,后来就放弃了,用github这个项目里介绍的方法安装,拉资源的时候老是会卡在奇奇怪怪的地方,最后不得不放弃,今天直接装了 stable diffusion 3。

Sualiu
博主
   不亦乐乎

stable diffusion 3,是用的 ComfyUI 么?

回复 0