Stable Diffusion web UI 脚本安装及启动脚本、新模型 (linux)

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效果一样。
Stable Diffusion web UI 脚本安装及启动脚本、新模型 (linux)_第1张图片

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小时链接给别人,如果不想这么做,使用默认的只允许本地访问。
Stable Diffusion web UI 脚本安装及启动脚本、新模型 (linux)_第2张图片
web访问127.0.0.1:7860端口

7.非本地访问

编辑launch.py,找到如下

commandline_args = os.environ.get('COMMANDLINE_ARGS', "")

并修改为

commandline_args = os.environ.get('COMMANDLINE_ARGS', "--listen")

上面的操作只能本地访问,如果想在互联网上用,做个反向代理吧。
可以使用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.systemctl 管理(参考)

vi /usr/lib/systemd/system/sdwu.service

内容如下:

[Unit]
Description=sdwu
After=network.target

[Service]
Type=simple
User = root
Group = root
KillMode=control-group
ExecStart=/bin/bash /etc/sh/sdwu.sh start

PrivateTmp=true

[Install]
WantedBy=multi-user.target

启动并开机启动

systemctl start sdwu && systemctl enable sdwu

三、优化

1.新模型的导入

上面安装的只是一个模型,后面比如更新了高的版本,可以下载 .safetensors的文件,放到指定目录下即可

找到存放位置

find / -name "*.safetensors"

我的是在

/usr/local/stable-diffusion-webui/models/Stable-diffusion

可以将其它的模型导入使用,比如自己训练的

2.设置密码登录

注意:密码登录可能有bug,官方已经说明,等后面更新
如果不加限制,放到公网上的会被别人扫描和蹭着用(我就遇到过)
找到并改为(7中间一样的配置位置)
编辑launch.py,找到如下,将用户名和密码设置为自己需要的

commandline_args = os.environ.get('COMMANDLINE_ARGS', "--listen --gradio-auth 用户名:密码")

配置完成后,再次登录就要输入密码了
Stable Diffusion web UI 脚本安装及启动脚本、新模型 (linux)_第3张图片

3.安装xformers

默认是不安装xformers的,如果安装了,可以优化gpu显存使用

pip install xformers==0.0.16rc425

在启动脚本添加

commandline_args = os.environ.get('COMMANDLINE_ARGS', "--listen --xformers")

4.汉化

github项目链接

github项目链接2

你可能感兴趣的:(python,ai,stable,diffusion,python)