Stable Diffusion本身是一个模型,对于大多数想试试的人来说,使用这个web ui版本最合适
在github的Stable Diffusion相关应用中,目前为止是星星最多的
建议先看完再动手,虽然不难但是有门槛(主要要解决网络问题)
会持续更新
github页面:Stable Diffusion web UI
一、可能的误区
1.误区1:必须用linux或者windows
mac os也可以,但是同样在于其它的坑多,不建议在mac os上使用,当然我也没试过。
2.误区2:必须用N卡
N卡坑少,出问题容易找到答案,并不是只能N卡。A卡,甚至cpu也可以,不过可能使用难度较大。
Nvidia显卡(Cuda)或AMD显卡(ROCm)
3.误区3:必须用conda
用conda的原因在于很多开发者通常需要多个python环境,个人部署直接装在系统就行
4.误区4:必须用git
可以直接把文件下载下来解压就行,git拉取项目的本质也是下载文件啊
二、安装所需
为了坑最少,建议按照我的方法来:
(一)操作系统+cpu架构
ubuntu2204+x86_64
(一)显卡
gtx10系以上,建议rtx之后的显卡,4G以上现存,建议8g以上
(二)软件
具体操作看下一节
1.conda环境安装
无需提前安装python环境
2.下载脚本文件
可以不用git,我下面写了
3.安装cuda及显卡驱动
二、具体安装方法-conda集成环境(ubuntu2204+N卡)
如果使用cpu来做处理,可以不用装cuda,就是速度慢
1.安装anaconda和cuda
anaconda使用最新版的就行
cuda的版本可以使用11.8,如果用下面的教程,注意cuda版本,使用自己需要的
参考:cuda安装
参考:anaconda安装
2.使用conda安装环境(非必须)
官方指定3.10.6版本python(名字是sdwu)
conda create -n sdwu python=3.10.6
激活环境
conda activate sdwu
3.安装git或直接把东西下载下来
实际上git也是把文件下载下来,如果不习惯,直接下载文件也行,不用装git(我这里下载下来了)
进入目录
cd /usr/local
网盘直接下载: Stable Diffusion 脚本
或用git拉取(git通常已经安装,如果没有则apt-get install git)
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
附:直接下载方法,在项目目录把zip下载下来,解压即可,和git效果一样。
4.使用脚本
可以打开看看,就是各种依赖的安装,如果卡住了可以看下一步的操作
cd /usr/local/stable-diffusion-webui
python launch.py
5.如果出现卡住下载不了的问题(主要是依赖)
源下载过慢,可以切换pip源或者从单个下载,然后继续运行上面的脚本
Installing gfpgan卡住
pip install basicsr -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install gfpgan -i https://pypi.tuna.tsinghua.edu.cn/simple
到目前为止,上面的操作在国内网络下即可。
实在没有耐心一点点去解决无法直连下载的各种问题了。
这里后面还有几个插件,都是常用的,如果不是网络受限,安装是很容易的,如果实在无法解决网络问题,可以找别人下载好的复制过来重建环境即可
6.启动后
注意,如果linux设置了代理,是会报错的
提示:To create a public link, set
share=True
in
launch()
.
此时只能本地访问,如果要外部访问,需要修改配置文件webui.py
查找webui.py
find / -name "webui.py"
按照上面的教程,位置如下
vi /usr/local/stable-diffusion-webui/webui.py
找到demo.launch(并将share改为True(首字母大写),保存重新启动即可(python launch.py)
注意:如果改True,会生成一个72小时链接给别人,如果不想这么做,使用默认的只允许本地访问。
web访问127.0.0.1:7860端口
7.如何变成一个服务不是只有本地可以用
上面的操作只能本地访问,如果想在局域网或者互联网上用,做个反向代理吧。
可以使用frp将端口映射到局域网,或者nginx转发,只要程序认为是localhost请求的就行。
frp顺带可以内网穿透了,可以参考我的这篇frp用法,将7860端口内网穿透即可。
nginx等其它的操作方法我就不写了。
这个环境可以保存下来了,用conda导出环境,然后迁移到别的设备。
8.一键启动bash脚本
创建目录
mkdir /etc/sh &&vi /etc/sh/sdwu.sh
内容如下
#!/bin/bash
source ~/anaconda3/etc/profile.d/conda.sh
conda activate sdwu
python /usr/local/stable-diffusion-webui/launch.py
保存退出后,使用下面的即可一键启动
/etc/sh/sdwu.sh
有了sh脚本,可以后台运行
nohup /etc/sh/sdwu.sh &>/dev/null &
9.新模型的导入
上面安装的只是一个模型,后面比如更新了高的版本,可以下载 .safetensors的文件,放到指定目录下即可
找到存放位置
find / -name "*.safetensors"
我的是在
/usr/local/stable-diffusion-webui/models/Stable-diffusion
可以将其它的模型导入使用,比如自己训练的
版权归原作者 ziqibit 所有, 如有侵权,请联系我们删除。