目录
一、前言 1. 为什么要本地部署 2. 本地化部署要求 3. Stable diffusion WebUI项目简介 二、电脑环境配置 1. 安装anaconda3 2. 在anaconda3中创建虚拟环境 3. 激活环境 4. 安装git 5. 安装cuda 三、stable diffusion环境配置 1. 下载stable diffusion源码 2. 下载stable diffusion的训练模型 3. 安装GFPGAN 4. 运行stable-diffsion-webui 四、开始作画和调试 五、借鉴博客 六、遇到的问题 七、最终成功截图一、前言
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项目是很多人部署到本地的首选。
二、电脑环境配置
1. 安装anaconda3
安装此软件的原因: 不需要再安装python了 并且anaconda3方便安装依赖 可以创建虚拟环境,如果搞坏了,删除重创建就好了。官方地址:https://www.anaconda.com/download#Downloads
安装教程网上很多,不再赘述。
检查是否安装成功 打开anaconda prompt(windows开始中搜索) 输入命令conda -V,显示conda版本则说明安装成功。2. 在anaconda3中创建虚拟环境
还是打开anaconda prompt,输入指令:conda create -n sdw python=3.10.6。注意:sdw为环境名,你可以自己命名。 系统提示y/n, 输入y,按回车即可。显示done,那就完成了。 可以输入conda env list查看自己刚刚创建的名字为sdw的环境3. 激活环境
在anaconda prompt中,输入指令conda activate sdw,然后回车。发现环境激活 升级pip,并设置pip的默认库包下载地址为清华镜像。输入指令:pip install --upgrade pip回车;再输入指令:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple回车4. 安装git
用来克隆下载github的项目,比如本作中的stable diffusion webui 前往git官网git-scm.com/download/win下载好后,一路默认安装,next即可。 开始菜单-输入“git”,找到git cmd。
打开并输入下面指令:git --version 查看git的版本,显示了版本号即安装成功。
5. 安装cuda
cuda是NVIDIA显卡用来跑算法的依赖程序,所以我们需要它。 打开NVIDIA cuda官网,developer.nvidia.com/cuda-toolkit-archive(这里有人可能会打不开网页,如果打不开,请用魔法上网。)你会发现有很多版本,下载哪个版本呢?回到一开始的anaconda prompt的小窗,输入nvidia-smi,查看你的cuda版本
比如我的是11.6的版本,我就下载11.6.2的链接。
然后安装自己的系统选择win10或者11,exe local,download。下载完后安装,这个软件2个G,可以安装在c盘以外的地方。比如D盘。
好了,完成这步,电脑的基础环境设置终于完事了。
下面开始正式折腾stable diffusion了。
三、stable diffusion环境配置
1. 下载stable diffusion源码
在anaconda prompt中进入其他盘。(默认C盘,但是最好下载在别的盘)。我下载再F盘中的Project中。 接着执行:git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git。直到显示done即可。2. 下载stable diffusion的训练模型
在https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main中下载 点击file and versions选项卡,下载sd-v1-4.ckpt训练模型。(需要注册且同意协议,注册并同意协议之后即可下载)下载好之后,请把模型更名成model.ckpt,然后放置在sd-webui的models/stable-diffusion目录下。比如我的路径是F:\Project\stable-diffusion-webui\models\Stable-diffusion
3. 安装GFPGAN
这是腾讯旗下的一个开源项目,可以用于修复和绘制人脸,减少stable diffusion人脸的绘制扭曲变形问题。打开https://github.com/TencentARC/GFPGAN。把网页往下拉,拉到readme.md部分,找到V1.4 model,点击蓝色的1.4就可以下载。
下载好之后,放在sd-webui项目的根目录下面即可,比如我的根目录是F:\Project\stable-diffusion-webui
4. 运行stable-diffsion-webui
进入F:\Project\stable-diffusion-webui文件夹。 运行指令:webui-user.bat直到系统提示,running on local URL: http://127.0.0.1:7860 复制链接到浏览器打开。
四、开始作画和调试
在浏览器,(比如谷歌浏览器),打开http://127.0.0.1:7860(注意,不要关闭anaconda prompt的黑色窗口)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分钟。
五、借鉴博客
https://mp.weixin.qq.com/s?__biz=MzI2NTQ0MjY5Nw==&mid=2247484631&idx=1&sn=cc627810f6862baf99d0e8084050c3f9&chksm=ea9c0031ddeb89278f5623560761d3d585e96eb768a15e11ccc7c24de817865056b68fc9e93a&scene=21#wechat_redirect https://blog.csdn.net/SweetHeartHuaZai/article/details/129741856六、遇到的问题
【问题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
【问题2】我之前虚拟环境命名太长,想换个名字,然后就把之前的环境克隆了一个,然后旧环境删除后,一直报错:No Python at '"C:\Users\59341.conda\envs\stable-diffusion-webui\python.exe’。 解决方案:没办法.只能删除这个环境后,重新创建虚拟环境。 【问题3】重新创建的过程中。一旦要下载包,就报错。首先是open_clip下载出错。 解决方案:找到自己的路径。输入F:\Project\stable-diffusion-webui\venv\Scripts\python.exe -m pip install open_clip_torch 等待安装完成后再次启动webui-user.bat即可进入下一步 借鉴链接:https://www.bilibili.com/read/cv22604427 【问题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 解决方案:发现是命令行在拉取/推送代码时并没有使用vpn进行代理(我自己有VPN)。 运行指令: 配置socks5代理 git config --global http.proxy socks5 127.0.0.1:7890
git config --global https.proxy socks5 127.0.0.1:7890 配置http代理 git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890 原文链接:https://blog.csdn.net/zpf1813763637/article/details/128340109 其余博主的问题列表:https://www.bilibili.com/read/cv22604427
七、最终成功截图
之前虚拟环境END