如何在服务器端部署 stable diffusion ai绘画软件 webui版 教程

发布于 2022-09-19  2.03k 次阅读


首先

我只是一个学习前端的小菜鸡,我对于后端的了解仅限于node.js其余的东西我都不了解,所以我也是在咨询一位大神之后才搞出来的,我其实也就等于是会用,而深层次的内容我是不了解的,所以各位大神看到有不合理的地方可以给我留言,但是如果碰到问题的话,请自行百度解决,毕竟我只是个前端。只是因为没有显卡玩不起,所以才想着在服务器端部署来玩一玩,


远端的话推荐部署AutoDL,因为可以学生认证,而且可以按时来计费,一个小时不到一块
这是我的邀请链接:
https://www.autodl.com/register?code=09a8a769-b9e8-424d-9caa-1ad7209e5d53

然后远端部署就是部署在系统盘和数据盘两个地方


1.部署在AutoDL系统盘的可以找我加我qq要632688575,我直接分享镜像给你,开箱即用,不用安装任何东西,直接可以用!!(PS:分享我一些知识即可,我不需要你付钱来买,我只要一些有趣的ai绘画知识,例如关键词和什么好用的网站),但是系统盘很小基本上就不能自己加模型了,只能用sd的模型

2.如果部署在AutoDL的数据盘或者其他算例服务器的话,会稍微麻烦点,没办法制作镜像,就需要按照下面的教程来进行部署,但优点就是所有模型都可以用,因为空间很大,

前景要提

如果是想在本地部署的,可以直接在git上搜就好了,上面有Windows和liunx版的安装教程

https://github.com/sd-webui/stable-diffusion-webui

这是他们的链接

如果是想部署在autoDL的系统盘,加我qq,我不要钱,我只要你分享的我点有趣的东西
如果是想部署在autoDL的数据盘或者其他服务器的,可以参考我下面的教程

正文

接下来是正文,即如何在auto服务器的数据盘上或者其他服务器上部署我们的ai绘画软件呢?

首先来张我部署成功的图

image-20220919114831400

这个就是我成功部署之后输出的图了

然后就让我们正式开始吧,注意按照我的流程来是没问题的,但是不按照的话出了问题,请自己去git上查找对应问题的解决方案


首先我推荐的部署服务器是autoDL,因为他可以关机开机,按使用时长计费,而且搞了学生优惠也很便宜,

https://www.autodl.com/home

image-20220919115243214

注册我就不讲了,直接到服务器这一页

image-20220919115324200

在注册完成之后可以进到自己的控制台,租用一个新的实例

image-20220919115358491

选择合适的实例

image-20220919115431938

确定之后,创建需要一定的时间,

image-20220919115528215

创建成功之后是这个样子的

然后我们点击JPT

image-20220919115558781

image-20220919115640134

进入到终端

image-20220919115727830

输入cd /root/autodl-tmp/

然后从

https://www.autodl.com/docs/network_turbo/

这里选择对应区域的资源加速实例,在哪个区的主机就用那个的

image-20220919115804188

复制实例然后粘贴进我们的终端输入就行

然后再输入

git clone https://github.com/sd-webui/stable-diffusion-webui.git && cd stable-diffusion-webui

这样就能从git上将文件拉下来了

然后我们输入conda init更新一下数据

然后再输入

source /root/.bashrc

image-20220919115933745

接下来我们就需要将我们的源切换为清华的镜像源

这里是我参考的切换方法

https://www.jianshu.com/p/f72ccab73b7f

切换清华源的方法

即输入 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

就可以了

然后运行

conda clean -i

清楚索引缓存

我们执行

conda config --show

多出来一大堆东西就是成功了

输入完成之后

我们再输入

cd /root/autodl-tmp/

进到这个文件夹

再输入 cd stable-diffusion-webui

进入到sd的文件夹当中,这里我打错了几次,所以看着很多的样子

image-20220919120123217

这里也可以使用 ls 命令 ,(直接输入ls 回车就可以了)看看文件夹里面有没有environment.yaml,如果没有的话就是前面的步骤出问题了

接下来是手动创建conda新环境

conda env create -f environment.yaml

输入这个就开始创建新环境了

image-20220919120252800

漫长的等待

image-20220919120328221

注意这里是会报错的,在git上有说明的,后面会自己加载,有些则需要我们之后添加

参考GIT的说明

加载完成之后

输入conda init,初始化一下文件

再更新一下yaml文件

conda env update -f environment.yaml

确保最新

然后输入pip install gradio,下载gradio

image-20220919120412145

下载完成再conda init一下

接下来就是下载文件了

从https://github.com/sd-webui/stable-diffusion-webui

git找到这个下载下来这两个文件

image-20220919120553265

然后找到这个路径,注意latent-diffusion后面 的文件夹都是我创建的

image-20220919120509013

创建文件夹剪切文件夹的方法在这个文件栏这边

image-20220919120741253

我们只需要确保文件夹在这里,以及放入的文件夹正确即可

image-20220919120452753

然后还有一个

image-20220919120838187

下载的4G SD model 放在这个文件夹models/ldm/stable-diffusion-v1/里面

这个模型也可以在前面分享的GIT上找

下载完成模型并添加到指定位置之后

我们只需要最后再修改点参数

image-20220919121337500

这个端口的位置修改在

image-20220919121354990

这个路径的script里面

image-20220919121406806

修改端口为6006

记得保存

接下来是查找 deprecation文件,修改一下

注意是site-packages/gradio/deprecation.py

我们可以通过这个来查找到他的准确的位置

find / -name deprecation.py

image-20220919121431455

然后就是修改加个return True

image-20220919121444597

输入完成这些之后

我们先conda init

然后关闭终端关机

重启一次我们的服务器

最后

这一部分是以后每次开机之后都需要进行的操作

1.开机

2.登录终端

3.登录进去之后先

conda activate ldm

进入ldm环境

image-20220919121750398

4.然后conda init

5.再cd autodl-tmp/

6.cd stable-diffusion-webui/

到我们的sd文件夹下

image-20220919121820957

7.最后我们再输入

image-20220919121850978

sh webui.sh

image-20220919121939532

可能会需要耐心的等一会,出现端口就算是部署成功了,

如果过了很久即十五分钟左右,还不行,请关闭服务器再按照前面登录的流程来走一遍

我们回到这个页面点击自定义服务,进去就是我们开始的那个页面了

image-20220919122007064

就可以开始用了

image-20220919122137912

至于其他报err的缺失文件,我们只需要去git下载放到对应文件夹即可,这部分可以看git


一个在痛苦与迷茫中行走的人偶