Stable Diffusion 的搭建和测试

硬件要求:

至少 30 GB 的硬盘空余空间

至少 4GB 显存的独立显卡(最好是N卡)

(没有显卡也可以跑,但是速度会很慢,且该文章没有介绍GPU的部署方式)

最近在网上看到了一些据说用AI生成的照片,我一开始还不相信这是AI生成的,直到我亲自部署并尝试才相信。

那么下面就来和各位分享一下我搭建Stable Diffusion的过程,以及用Stable Diffusion生成的照片。

首先,我们之前已经介绍过如何搭建方便的 AI 开发环境,还没有搭建的可以翻一下之前的文章:一劳永逸的AI开发环境搭建教程

除了之前介绍的 conda 外,我们还需要安装 Git,安装十分简单,此处不再赘述。下载链接:Git - Downloads (git-scm.com)

这两样都准备好之后,就可以开始安装了。

  1. 首先打开 Anconda Prompt,创建一个新的虚拟环境:

    1
    conda create -n SD-WebUI python=3.10
  2. 创建好之后激活这个环境:

    1
    conda activate SD-WebUI
  3. cd 到想要存放SD工程的目录(根据自己的需要来,我这里放到了D盘的 AI 目录下):

    1
    2
    D:
    cd AI
  4. 用 git 将工程克隆下来,并且进入这个目录:

    1
    2
    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
    cd stable-diffusion-webui
  5. 由于目前最新的 WebUI 已经自带了一键安装程序,所以我们这里可以直接 call 自带的安装程序,这个安装程序会自动创建python虚拟环境,自动下载依赖包,一键就能完成安装(这里使用 Git 克隆的时候可能会存在网络问题,请自行解决):

    1
    call webui.bat
  6. 安装完成后就可以直接运行了,这里运行也是直接在 conda 的SD-WebUI虚拟环境中call webui.bat即可

  7. 为了方便之后的使用,我这里写了一个一键运行的脚本(这里的 miniconda 路径需要根据你本地的情况做修改):

    一键运行.bat:

    1
    2
    3
    call C:\Users\Frspble\miniconda3\Scripts\activate.bat C:\Users\Frspble\miniconda3
    call conda activate SD-WebUI
    call webui.bat
  8. 当提示Running on local URL: http://127.0.0.1:7860时,代表 webui 已经运行成功,打开http://127.0.0.1:7860这个链接就可以看到 webui 的界面了。

  9. 下面分享一些常用的 WebUI 插件和设置:

    1. 在设置-用户界面-快捷设置列表这里可以填入 sd_model_checkpoint, sd_vae, CLIP_stop_at_last_layers

      这样在界面上方就可以快捷切换 VAE 和 CLIP跳过层。

      image-20230423154054368

      image-20230423154813828

    2. 常用插件:

      名称 英文名 链接
      简体中文语言包 stable-diffusion-webui-localization-zh_CN https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN
      双语对照翻译 sd-webui-bilingual-localization https://github.com/journey-ad/sd-webui-bilingual-localization)
      ControlNet sd-webui-controlnet https://github.com/Mikubill/sd-webui-controlnet.git

下面分享一些我使用 Stable Diffusion 生成的几张照片,这里使用的模型是 Chilloutmix 外加 KoreanDollLikeness Lora,使用了几张之前拍摄的照片,用 img2img 替换原有的人物主体生成。

9C0519D93715C45AE5B4EB579158AE1A

DCE6FF9ACEF51EBD7DB3B6991C6F3483

634D0BC293F3DC8547939C9FCB6943B9

可以看到,这个效果确实已经可以做到以假乱真了,如果不仔细看图片确实无法分辨是否是AI生成的。