Stable Diffusion Web UI(AI绘图)安装及使用教程
创建日期:2024年9月11日
AI绘图面世快两年了,现在绘图模型越来越厉害,已经可以达到商业跑图的要求。Stable Diffusion作为免费开源的最厉害的跑图的深度学习模型,无疑是平民玩家的首选。
前言
Stable Diffusion Web UI(以下简称SDW)是一个用于运行和管理 Stable Diffusion 模型的用户界面工具,本篇便是对于此工具的教程。SDW也不并不是所有电脑都可以运行的,拥有一张至少4G显存的电脑是最低的要求。虽然也可以调用CPU跑图,但是经过测试,一张512*512分辨率的图片至少需要12小时,还不如自己手画。
sd.ifdess.cn 项目
看到这里,推荐给大家一个网站 https://sd.ifdess.cn, 这是一个运行在博主电脑上的在线AI绘图模型。其原理为使用博主的电脑部署SDW,开启SDW自带的局域网共享,再通过服务器和FRP工具实现内网穿透。经过测试,跑一张512*512分辨率的图需要25-30秒。理论上说只要博主电脑不关机、不断网,那么这个网站可以一直存活。那么SDW现在教程开始,以下教程适用于Windows 10/11 64位。
sd.ifdess.cn 已失效
因为博主我越来越懒了,之前觉得电脑开着不管它就行,但是电脑总是需要用来做别的事情,并且经常会要重启,所以现在正式宣布https://sd.ifdess.cn项目无限期关闭。
安装SDW
前置任务
- 安装显卡驱动(注意软件安装时的流氓勾选)
- 安装VC++运行库(推荐直接安装微软运行库合集)
- 自备魔法(网络加速)
方法一(推荐)
- 下载sd.webui.zip,此包自带Python及Git运行环境,相当于便携版本,可以放在U盘里,在任何符合条件的电脑上运行。
- 将下载好的zip文件解压到所需位置。
- 双击sd.ifdess文件夹中的
update.bat
, Web UI会自动更新到最新版本,等完成后关闭窗口。 - 双击
run.bat
启动 Web UI,首次启动时会下载大量文件。所有内容下载并正确安装后,窗口中有很多内容,其中包含一条消息“Running on local URL: http://127.0.0.1:7860”
,浏览器打开http://127.0.0.1:7860将显示 Web UI 界面。
方法二
- 安装Python 3.10.6(64 位)(安装时勾选“添加到 PATH”)。
- 安装Git, 安装时一路next。
- 从搜索栏打开CMD命令提示符,然后输入
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
或者直接下载SDW的master分支,然后解压。
- 双击解压后文件夹中的
webui-user.bat
,首次启动时会下载大量文件。所有内容下载并正确安装后,窗口中有很多内容,其中包含一条消息“Running on local URL: http://127.0.0.1:7860”
,浏览器打开http://127.0.0.1:7860将显示 Web UI 界面。
安装绘图模型
教程
模型的安装比较简单,模型文件的后缀名通常是.safetensors
或者.ckpt
。
- 从网站中下载模型
- 把下载文件放在
\SDW根目录\webui\models\Stable-diffusion\
文件夹中,点一下SDW界面的刷新按钮。
模型网站推荐:
这个网站专注于用户共享的 Stable Diffusion 模型,有各种各样的风格模型和 LORA 模型可以下载。社区活跃,模型质量和种类都非常丰富。
哩布哩布(liblib)是一个为 AI 生成模型提供托管和分享服务的国内网站,类似于 Civitai 等平台,用户可以在上面上传、下载和分享 AI 生成模型,包括 Stable Diffusion、LoRA 模型、VAE 模型等。
Hugging Face 是一个非常著名的机器学习平台,里面有大量由研究人员和开发者上传的模型。你可以找到 Stable Diffusion 的基础模型、微调的模型以及专用领域的变体。
Stability AI 是 Stable Diffusion 背后的团队,网站上提供了官方的模型下载链接以及更新信息。
如果只是想在自己电脑上使用SDW,看到这里就OK了。如果自己有服务器,想要像博主一样搭建一个SDW网站分享给其他人使用的话,那么请看以下的内网穿透教程。
开启SDW局域网共享
SDW自带了许多设置,通过修改webui-user.bat
文件以启用或者关闭某些设置,以下是初始文件内容
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=
call webui.bat
设置参数只需要添加在set COMMANDLINE_ARGS=
后面,然后保存文件就OK。比如要启用xformers(可以大幅提高跑图速度),那么在等号后面添加--xformers
,如果有多个参数,需要用空格隔开。
同样的,我们还需要开启局域网监听(共享),就要修改为
set COMMANDLINE_ARGS=--xformers --listen
SDW有一个--share
参数,可以直接生成共享链接,72小时有效,只是我测试的时候发现,并不稳定,如果是临时分享给别人使用的话,也可以将就用用。
更多其他设置参数可以参考项目Wiki中关于参数和设置的内容。
内网穿透
刚刚开启的--listen
会把自己本机的7860端口面向局域网开放,利用FRP工具可以将本机的7860端口映射到服务器上的****端口(可以自定义,例如8000)。服务器拥有固定的公网IP地址,而且可以通过反向代理与域名绑定在一起,就可以实现永久固定网址访问了。
服务器端
下载frp软件压缩包并解压,然后编辑配置文件frps.toml
bindAddr = "0.0.0.0" #必须是这个
bindPort = 9000#就是服务器端口,后面的本机电脑端要一致
kcpBindPort = 9003 #随便
dashboardPwd = "odhiodwjpajJJWPdwjpq" #随便
vhostHTTPPort = 9001 #随便
vhostHTTPSPort = 9002 #随便
maxPoolCount = 50
tcpmuxHTTPConnectPort = 9004 #随便
[webServer]
user = "DWIdwhaodih" #随便
password = "1wdqdq32454adwad" #随便
port = 9005 #随便
addr = "0.0.0.0" #必须是这个
[auth]
token = "3234dawAaL15641561VXjb" #随便,后面的本机电脑端要一致
软件目录用终端运行./frps -c ./frps.toml
启动服务,最好是用如 systemd 和 supervisor开启进程守护,具体守护教程就自行百度吧。
如果用的是宝塔面板,可以直接在软件商店里搜frp管理器。然后设置一下,端口都可以随便设置,不要重复,最后记得启动服务。
本机电脑端
-
下载frp软件压缩包并解压。
-
打开frpc.toml文件,编辑内容
serverAddr = "111.111.111.111" #你的服务器IP
serverPort = 9000 #与服务器上的“服务器端口”一致
auth.method = "token"
auth.token = "3234dawAaL15641561VXjb" #需要和服务器端的token一样
[[proxies]]
name = "sd-tcp" #随便起个名
type = "tcp"
localIP = "127.0.0.1"
localPort = 7860 #需要访问的本机端口,SDW默认7860
remotePort = 8000 #服务器对公网开放的端口,也就是用于反向代理的端口
设置好后双击frpc.exe
启动服务。
当本机电脑上启动SDW、FRP,同时服务器启动FRP后,就可以通过http://你的服务器IP:8000/访问SDW。最后在服务器上设置一下反向代理,就可以用域名访问了。