Bootstrap

在modelscope(魔塔)部署自己的Stable-Diffusion-WebUI并实现网络穿透,可外部调用

一、注册并登陆modelscope平台

       modelscope账号的注册这里就不做过多的介绍,大家可以自行搜索完成账号注册及实名认证,领取免费GPU算力;

       登陆后按下图指示依次点击选择对应配置,最后点击‘启动’开启并进入服务器;

二、部署SatbleDiffusionWebUI项目

2.1 方法一:

       下载github上的官方源码进行魔塔部署(需要修改部分配置及自己上传网络穿透工具包,推荐跳过方法一直接从方法二开始);

1)创建notebook:

2)获取SatbleDiffusionWebUI项目源码:

!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

3)进入项目的Stable-diffusion文件夹,并拉取模型权重:

%cd stable-diffusion-webui/models/Stable-diffusion
!git clone https://www.modelscope.cn/zhiheng/v1-5-pruned-emaonly.safetensors.git

4)返回项目根目录,并拉取Clip模型权重:

%cd ../..
!mkdir openai
%cd openai
!git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git

5)因为在当前服务器是通过root用户运行程序,所以需要修改webui.sh脚本的P96-106行,将其注释掉并保存:

6)修改webui-user.sh 脚本P13行,设置参数为‘--skip-torch-cuda-test’并解除注释保存:

7)在stable-diffusion-webui文件夹下打开终端,在终端运行‘./webui.sh’,脚本会新创建一个python的venv虚拟环境,同时安装项目所需第三方依赖库:

8)出现如下界面说明项目部署已经成功:

2.2 方法二:

       下载我在gitee上上传的StableDiffusion代码,不仅包含了官方源码,还在此基础上修改了专门适配魔塔平台的配置文件和安装了网络穿透工具cpolar的安装包;

1)进入服务器后创建notebook:

2)以次输入如下指令运行:

·指令如下:

# 拉取gitee上的代码
!git clone https://gitee.com/gy19940717/stable-diffuction.git
# 进入Stable-diffusion文件夹拉取对应模型权重
%cd stable-diffuction/models/Stable-diffusion
!git clone https://www.modelscope.cn/zhiheng/v1-5-pruned-emaonly.safetensors.git
# 返回项目根目录创建openai文件夹并进入
%cd ../..
!mkdir openai
%cd openai
# 拉取Clip模型权重
!git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git

3)在 stable-diffuction目录下打开一个终端并运行‘./webui.sh’:

# 在终端运行
./webui.sh

 4)出现如下界面说明项目部署已经成功:

三、网络穿透

      但是当你通过电脑浏览器访问这个地址会发现无法访问,这个不仅是因为启动的host是一个回环地址,即便将‘share=True’,设置为广播地址,在自己电脑上也是无法访问的,因为部署的这个魔塔服务器不在公网,需要进行网络穿透;

      这里就设置默认的回环地址启动web服务,然后选择cpolar这个工具的免费版本进行网络穿透。

3.1 使用方法一部署的同学请看这部分内容:

1.去到cpolar官网下载对应版本安装包,这里选择Linux版本:

2.将下载到本地的cpolar压缩包上传至魔塔服务器并解压:

3.将帐户的authtoken添加到cpolar.yml文件:

./cpolar authtoken MThiNzBhMGEtMjJiNi00ZjVlLTgwNDgtZWRhN2Y4MDkyZjY2

4.选择需要暴露的端口进行网络穿透,启动stable-diffusion-webui项目的请求端口为7860,所以这里选择暴露7860端口:

5.暴露端口之后可以看到下图界面,表示网络穿透成功,复制红框内的请求地址到自己电脑的浏览器就可以进入本文第一张图所示的stable-diffusion-webui项目的web界面进行操作了:

3.2 使用方法二部署的同学请看这部分内容:

1.依次在刚才创建的notebook里面继续输出如下指令:

# 退出到Stable-diffusion文件夹下并解压网络穿透工具的压缩包cpolar-stable-linux-amd64.zip
%cd ..
!unzip cpolar-stable-linux-amd64.zip
# 将帐户的authtoken添加到cpolar.yml文件
!./cpolar authtoken MThiNzBhMGEtMjJiNi00ZjVlLTgwNDgtZWRhN2Y4MDkyZjY2

2.同样在Stable-diffusion文件夹下新打开一个终端,并运行‘./cpolar http 7860’:

# 终端运行
./cpolar http 7860

3.暴露端口之后可以看到下图界面,表示网络穿透成功,复制红框内的请求地址到自己电脑的浏览器就可以进入本文第一张图所示的stable-diffusion-webui项目的web界面进行操作了:

完结,撒花~

;