Window本地化部署stable diffusion AI绘图+问题汇总

目录

一、前言

1. 为什么要本地部署

  • 本地部署没有生成数量的限制,不用花钱,生成时间快,不用排队,自由度高很多,可以调试和个性化的地方也更多。
  • 部署过程可以熟悉环境配置的流程,熟悉工程化部署步骤。对于PM来说也是一种技术成长。
  • 部署过程遇到各种问题,在尝试解决的过程中更加锻炼自己能力。

2. 本地化部署要求

  • 需要拥有NVIDIA显卡,GT1060起,显存4G以上。(已经不需要3080起,亲民不少)
  • 操作系统需要win10或者win11的系统。
  • 电脑内存16G或者以上。
  • 最好会魔法上网,否则网络波动,有些网页打不开,有时下载很慢。
  • 我的电脑配置供大家参考,Win11,i5-11400H,NVIDIA RTX 3050 4G,16G
  • 生成一张20step的图大概20-30s(若使用更高性能的电脑,生成速度更快)。

3. Stable diffusion WebUI项目简介

Stable diffusion大家都知道了,是当前最多人使用且效果最好的开源AI绘图软件之一。stable diffusion webui,是基于stable diffusion 项目的可视化操作项目。通过可视化的网页操作,更方便调试prompt,及各种参数。同时也附加了很多功能,比如img2img功能,extra放大图片功能等等。因此stable diffusion webui项目是很多人部署到本地的首选。
本地webui版AI绘图界面

二、电脑环境配置

1. 安装anaconda3

  1. 安装此软件的原因:
  • 不需要再安装python了
  • 并且anaconda3方便安装依赖
  • 可以创建虚拟环境,如果搞坏了,删除重创建就好了。

官方地址:https://www.anaconda.com/download#Downloads

安装教程网上很多,不再赘述。

  1. 检查是否安装成功
  • 打开anaconda prompt(windows开始中搜索)
  • 输入命令conda -V,显示conda版本则说明安装成功。
    安装成功

2. 在anaconda3中创建虚拟环境

  1. 还是打开anaconda prompt,输入指令:conda create -n sdw python=3.10.6。注意:sdw为环境名,你可以自己命名。
  2. 系统提示y/n, 输入y,按回车即可。显示done,那就完成了。
  3. 可以输入conda env list查看自己刚刚创建的名字为sdw的环境

3. 激活环境

  1. 在anaconda prompt中,输入指令conda activate sdw,然后回车。发现环境激活

环境激活

  1. 升级pip,并设置pip的默认库包下载地址为清华镜像。输入指令:pip install –upgrade pip回车;再输入指令:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple回车

4. 安装git

  1. 用来克隆下载github的项目,比如本作中的stable diffusion webui
  2. 前往git官网git-scm.com/download/win
    git下载
  3. 下载好后,一路默认安装,next即可。
  4. 开始菜单-输入“git”,找到git cmd。
    git
  5. 打开并输入下面指令:git –version
  6. 查看git的版本,显示了版本号即安装成功。
    安装成功

5. 安装cuda

  1. cuda是NVIDIA显卡用来跑算法的依赖程序,所以我们需要它。
  2. 打开NVIDIA cuda官网,developer.nvidia.com/cuda-toolkit-archive(这里有人可能会打不开网页,如果打不开,请用魔法上网。)你会发现有很多版本,下载哪个版本呢?
    cuda版本
  3. 回到一开始的anaconda prompt的小窗,输入nvidia-smi,查看你的cuda版本
    cuda版本
  4. 比如我的是11.6的版本,我就下载11.6.2的链接。
    cuda下载
    然后安装自己的系统选择win10或者11,exe local,download。下载完后安装,这个软件2个G,可以安装在c盘以外的地方。比如D盘。

好了,完成这步,电脑的基础环境设置终于完事了。

下面开始正式折腾stable diffusion了。

三、stable diffusion环境配置

1. 下载stable diffusion源码

  1. 在anaconda prompt中进入其他盘。(默认C盘,但是最好下载在别的盘)。我下载再F盘中的Project中。
  2. 接着执行:git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git。直到显示done即可。
    下载stable diffusion源码

2. 下载stable diffusion的训练模型

  1. https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main中下载
  2. 点击file and versions选项卡,下载sd-v1-4.ckpt训练模型。(需要注册且同意协议,注册并同意协议之后即可下载)
    下载stable diffusion的训练模型
  3. 下载好之后,请把模型更名成model.ckpt,然后放置在sd-webui的models/stable-diffusion目录下。比如我的路径是F:\Project\stable-diffusion-webui\models\Stable-diffusion

3. 安装GFPGAN

  1. 这是腾讯旗下的一个开源项目,可以用于修复和绘制人脸,减少stable diffusion人脸的绘制扭曲变形问题。
    GFPGAN
  2. 打开https://github.com/TencentARC/GFPGAN。把网页往下拉,拉到readme.md部分,找到V1.4 model,点击蓝色的1.4就可以下载。
    V1.4 model下载
    下载好之后,放在sd-webui项目的根目录下面即可,比如我的根目录是F:\Project\stable-diffusion-webui

4. 运行stable-diffsion-webui

  1. 进入F:\Project\stable-diffusion-webui文件夹。
  2. 运行指令:webui-user.bat
    运行指令:webui-user.bat
  3. 直到系统提示,running on local URL: http://127.0.0.1:7860
  4. 复制链接到浏览器打开。

四、开始作画和调试

  1. 在浏览器,(比如谷歌浏览器),打开http://127.0.0.1:7860(注意,不要关闭anaconda prompt的黑色窗口)
    打开http://127.0.0.1:7860
    2.在prompt区域输入相关指令,比如beautiful landscape,然后点击右边的generate,即可生成第一张图片啦。
    可生成第一张图片啦
    3.生成的状态和操作

网页会显示进度条,anaconda prompt的黑色小窗也会显示进度条。

等进度条跑满,就能看到你生成的图啦。

如果不想生成了,可以点击interrupt停止生成,就会返回你目前为止已经生成的图片。(比如你要生成10张,已经生成了3张,点击interrupt,就会返回3张图片)

如果点击skip,就会跳过本张图片的生成,比如你想生成10张图,现在生成第3张,点击skip,第三张就不生成了,直接开始生成第四张,最后返回9张图片。
设置项
4.修改batch count数值,一次性生成多张图片

默认是1,一次性生成1张,建议一次性生成4张或者以上,这样获得满意的图片概率会大一些,可以最多一次性生成最多100张。
设置图片数量
但写得越大,一次性生成花费的时间越长,假设一张图30秒,设置10张就是300s,5分钟,100张则是3000s,50分钟。

五、借鉴博客

六、遇到的问题

  1. 【问题1】:RuntimeError: Couldn’t clone K-diffusion.


【尝试方法1】:

运行建议的command:git clone “https://github.com/crowsonkb/k-diffusion.git” “F:\Project\stable-diffusion-webui\repositories\k-diffusion”。

但是依旧报错。

【尝试方法2】:

一般是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错。

解除ssl验证后,再次git即可。执行command:git config –global http.sslVerify false

参考博客:https://blog.csdn.net/bblood307/article/details/120307064

  1. 【问题2】我之前虚拟环境命名太长,想换个名字,然后就把之前的环境克隆了一个,然后旧环境删除后,一直报错:No Python at ‘”C:\Users\59341.conda\envs\stable-diffusion-webui\python.exe’。
    1. 解决方案:没办法.只能删除这个环境后,重新创建虚拟环境。
  2. 【问题3】重新创建的过程中。一旦要下载包,就报错。首先是open_clip下载出错。
    1. 解决方案:找到自己的路径。输入F:\Project\stable-diffusion-webui\venv\Scripts\python.exe -m pip install open_clip_torch
    2. 等待安装完成后再次启动webui-user.bat即可进入下一步
    3. 借鉴链接:https://www.bilibili.com/read/cv22604427
  3. 【问题4】运行webui-user.bat后又报错:RuntimeError: Couldn’t clone Stable Diffusion.
    Command: “git” clone “https://github.com/Stability-AI/stablediffusion.git” “F:\Project\stable-diffusion-webui\repositories\stable-diffusion-stability-ai”
    Error code: 128
    1. 解决方案:发现是命令行在拉取/推送代码时并没有使用vpn进行代理(我自己有VPN)。
    2. 运行指令:
      1. 配置socks5代理
        1. git config –global http.proxy socks5 127.0.0.1:7890
          git config –global https.proxy socks5 127.0.0.1:7890
      2. 配置http代理
      3. git config –global http.proxy 127.0.0.1:7890
        git config –global https.proxy 127.0.0.1:7890
      4. 原文链接:https://blog.csdn.net/zpf1813763637/article/details/128340109
  4. 其余博主的问题列表:https://www.bilibili.com/read/cv22604427

七、最终成功截图

  1. 之前虚拟环境



  1. 现在虚拟环境
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFeoUiGT-1683552204208)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/09655abe-2929-477a-856c-8b4356fa023e/Untitled.png)]
    END

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年12月8日
下一篇 2023年12月8日

相关推荐