当前位置:首页>文章>Stable Diffusion>SD指南>【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?

【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?

寒斜 阿里云云原生 2023-05-05 18:31 发表于浙江

【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?

上一篇讲了如何使用 Serverless Devs 和函数计算快速体验部署 stable diffusion,本篇继续聊聊如何解决动态模型加载的问题,从玩起来到用起来。

思路

Cloud Native

其实很简单, 我们只需要将镜像里面的动态路径映射到 NAS[1]文件存储里面即可,利用 NAS 独立存储文件模型,扩展,语言包等,并且我们可以为管理 NAS 单独配置一个可视化的后台,用简单的文件上传删除的方式管理我们的文件,为此我们需要展开打镜像的脚本,为了完成全套的流程我们接下来盘一下整体的准备项。

准备项

Cloud Native

1. 开通阿里云函数计算[2]

2. 文件存储 NAS(可以根据情况自己创建性能更好的实例)

3. 开通阿里云容器镜像服务 ACR[3]

4. 安装 Serverless Devs[4]

$ npminstall @serverless-devs/s -g

5. 使用 Serverless Devs 配置阿里云密钥信息[5]

快速开始

Cloud Native

初始化应用模板

s init fc-stable-diffusion-plus

选择 region:cn-hangzhou

输入镜像:registry.cn-hangzhou.aliyuncs.com/serverlessdevshanxie/sd-auto-nas:v1

部署应用模板

cd fc-stable-diffusion-plus && s deploy

部署需要花费一些时间(预估 5 分钟),之后你会收到两个域名返回。

fc-nas-init:

region:cn-hangzhou

service:

name:fc-stable-diffusion-plus

function:

name:nas-init

runtime:python3.9

handler:index.handler

memorySize:3072

timeout:1200

cpu:2

diskSize:512

fc-nas-filemgr:

region:cn-hangzhou

service:

name:fc-stable-diffusion-plus

function:

name:admin

runtime:custom

handler:index.handler

memorySize:3072

timeout:7200

cpu:2

diskSize:512

url:

system_url:https://xxx.cn-hangzhou.fcapp.run

system_intranet_url:https://xxx.cn-hangzhou-vpc.fcapp.run

custom_domain:

domain:http://admin.fc-stable-diffusion-plus.xxxx.cn-hangzhou.fc.devsapp.net

triggers:

type:http

name:httpTrigger

keep-warm:

region:cn-hangzhou

service:

name:fc-stable-diffusion-plus

function:

name:keep-warm

runtime:python3

handler:index.handler

memorySize:128

timeout:120

cpu:0.1

diskSize:512

triggers:

type:timer

name:timerTrigger

stable-diffusion-sd-server:

region:cn-hangzhou

service:

name:fc-stable-diffusion-plus

function:

name:sd

runtime:custom-container

handler:index.handler

memorySize:32768

timeout:600

cpu:8

diskSize:10240

url:

system_url:https://xxx.cn-hangzhou.fcapp.run

system_intranet_url:https://xxx.cn-hangzhou-vpc.fcapp.run

custom_domain:

domain:http://sd.fc-stable-diffusion-plus.xxxxx.cn-hangzhou.fc.devsapp.net

triggers:

type:http

name:defaultTrigger

其中:

http://admin.fc-stable-diffusion-plus.xxxx.cn-hangzhou.fc.devsapp.net 是后台管理页面

http://sd.fc-stable-diffusion-plus.xxxxx.cn-hangzhou.fc.devsapp.net 是 stable diffusion 的操作界面

上传模型

因为上面容器镜像中移除了模型部分,所以你现在还无法启动 Stable Diffusion 的操作界面,需要上传自己的模型,之后再去启动 Stable Diffusion 操作界面,上传模型有两个方法:

方法一

通过可视化界面上传,访问 http://admin.fc-stable-diffusion-plus.xxxx.cn-hangzhou.fc.devsapp.net,点点点,配好登录密码之后,进来到这个界面:文件管理,然后在路径栏里输入”/mnt/auto/sd”

【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?
【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?
【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?

你就看到自己熟悉的本地目录了~

然后再访问 models/Stable-diffusion/ 把模型拖进来就行。

不过值得注意的是,这种方式上传的模型超过 2、3 个 G 的时候会不稳定。所以如果你的模型很大,可以考虑用我们提供的 nas 指令。

方法二

使用 nas 指令上传,进入项目根目录,执行↓

s fc-nas-init nas upload -r <你的模型地址> /mnt/auto/sd/models/Stable-diffusion/

就可以,剩下的就是等待,可能要花费 30 分钟。

注:其他的如 controlNet,extension 可以按照类似的方式,不过注意对应的 nas 地址变一下。

页面预览

准备就绪后我们开始使用页面了,打开这个地址↓

http://sd.fc-stable-diffusion-plus.xxxxx.cn-hangzhou.fc.devsapp.net 冷启动会有一定的加载时间。

文生图

图生图

【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?

其他的自己可以多摸索摸索。

有奖体验

Cloud Native

阿里云将提供免费 Serverless 函数计算产品资源,邀请你,体验一把 AIGC 级的毕加索、达芬奇、梵高等大师作画的快感。下面请尽情发挥你的想象空间!!双重奖品设置,完成体验场景可得社区 1000 积分兑换奖品,还可参加 AI 生成图像比赛赢取 Airpods、500 元猫超卡及社区定制抱枕!

体验地址:

https://developer.aliyun.com/topic/aigc

你也可以轻松做出下方画作

声明:学AI网所有文章,如无特殊说明或标注,均为本站作者原创发布。任何个人或组织,在未征得作者同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若此作者内容侵犯了原著者的合法权益,可联系客服或提交工单进行处理。学AI网内用户所发表的所有内容及言论仅代表其本人,并不反映任何学AI网之意见及观点。

给TA充电
共{{data.count}}人
人已充电
SD指南

AI绘画工具stable diffusion一键启动整合包无需配置环境使用教程

2023-5-19 13:54:48

SD指南

更好的出图体验,Stable diffusion AI画图新版本介绍

2023-5-19 13:54:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索