如何用 Serverless 一键部署 Stable Diffusion?
思路
其实很简单, 我们只需要将镜像里面的动态路径映射到 NAS文件存储里面即可,利用 NAS 独立存储文件模型,扩展,语言包等,并且我们可以为管理 NAS 单独配置一个可视化的后台,用简单的文件上传删除的方式管理我们的文件,为此我们需要展开打镜像的脚本,为了完成全套的流程我们接下来盘一下整体的准备项。
准备项
开通阿里云函数计算
文件存储 NAS(可以根据情况自己创建性能更好的实例)
开通阿里云容器镜像服务 ACR
$ npm install @serverless-devs/s -g
- 使用 Serverless Devs 配置阿里云密钥信息
快速开始
初始化应用模版
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"
你就看到自己熟悉的本地目录了~
然后再访问 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 函数计算产品资源,邀请你,体验一把 AIGC 级的毕加索、达芬奇、梵高等大师作画的快感。下面请尽情发挥你的想象空间!!双重奖品设置,完成体验场景可得社区 1000 积分兑换奖品,还可参加 AI 生成图像比赛赢取 Airpods、500 元猫超卡及社区定制抱枕!
体验地址:
https://developer.aliyun.com/topic/aigc
你也可以轻松做出下方画作
如何用 Serverless 一键部署 Stable Diffusion?的更多相关文章
- Window10环境下,Stable Diffusion的本地部署与效果展示
Diffusion相关技术最近也是非常火爆,看看招聘信息,岗位名称都由AI算法工程师变成了AIGC算法工程师,本周跟大家分享一些Diffusion算法相关的内容. Window10环境下,Stable ...
- 最新版本 Stable Diffusion 开源AI绘画工具之部署篇
目录 AI绘画 本地环境要求 下载 Stable Diffusion 运行启动 AI绘画 关于 AI 绘画最近有多火,既然你有缘能看到这篇文章,那么相信也不需要我过多赘述了吧? 随着 AI 绘画技术的 ...
- Stable Diffusion魔法入门
写在前面 本文为资料整合,没有原创内容,方便自己查找和学习, 花费了一晚上把sd安装好,又花了大半天了解sd周边的知识,终于体会到为啥这些生成式AI被称为魔法了,魔法使用前要吟唱类比到AI上不就是那些 ...
- 一键部署mono 免费空间
一键部署mono 免费空间支持c# 再也不担心伙食费换空间了 一直以来 部署mono 都是很头疼的事情 因为是我在是不熟悉非win环境,今天偶然发现这个项目,挺好的,分享下 https://githu ...
- spingboot一键部署到阿里云(Cloud Toolkit工具)
一般做法 一键部署工具 前些天在完成一个项目时候需要将springboot项目部署到服务器上, 以下是两种做法 前面介绍的是一般做法: 后面将介绍省去这些步骤的一键部署工具Cloud Toolki ...
- .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)
Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言 前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟 ...
- 下载达 10 万次的 IDEA 插件,K8s 一键部署了解一下?
作者 | 铃儿响叮当 导读:涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,本文将给大家讲解:对于容器服务 ACK,怎么实现真正"一键部署",提高开发部署效率,在 K ...
- 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付
容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...
- 从 GPT2 到 Stable Diffusion:Elixir 社区迎来了 Hugging Face
上周,Elixir 社区向大家宣布,Elixir 语言社区新增从 GPT2 到 Stable Diffusion 的一系列神经网络模型.这些模型得以实现归功于刚刚发布的 Bumblebee 库.Bum ...
- 如何自动化一键部署PHP项目
1.技能需求 完成自动化一键部署PHP需要:PHP(略懂),Shell(略懂),git(略懂) 2.最终效果 输入密码,回车,5~20秒后(一般一天一次持续交付,部署的代码量和sql脚本都不会很大) ...
随机推荐
- QA12更改使用决策时自动转至长文本并报错 上载附件 Word2007template.dotm
*&---------------------------------------------------------------------**& Report Z_SCR_WORD ...
- c标签的使用问题
这是在使用c标签的时候遇到的问题,发现在导入包成功的情况下,jsp页面代码也没有问题.在网页上查了查,发现需要修改tomcat中的 conf/catalina.properties文件. 将tomca ...
- Salesforce LWC学习(四十七) 标准页面更新以后自定义页面如何捕捉?
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platfor ...
- Golang标准库 container/list(双向链表) 的图文解说
Golang标准库 container/list(双向链表) 的图文解说 提到单向链表,大家应该是比较熟悉的了.今天介绍的是 golang 官方库提供的 双向链表. 1.基础介绍 单向链表中的每个节点 ...
- Python——第二章:查找和判断
查找.find() s = "你好啊. 我叫周润发" ret = s.find("周润发") # 返回是7,代表该字符串出现在7号位置,从0开始计数 print ...
- Win10笔记本开启热点让手机上网
Win10开启热点让手机上网,笔记本电脑开启热点,笔记本电脑开启WiFi,手机连接笔记本电脑热点上网. 1.前提条件:笔记本电脑网线联网,笔记本电脑支持热点 2.胆子要大,不怕公司网管统计发现你的电脑 ...
- CSS3学习笔记-动画
CSS3中提供了许多有趣和实用的动画效果,可以使页面更加生动有趣,下面介绍一些常用的动画效果. @keyframes规则 使用@keyframes规则可以创建一系列动画帧,并定义它们的状态和样式,在页 ...
- Jenkins简介及安装配置详解:开启持续集成之旅
Jenkins简介及安装配置详解:开启持续集成之旅 一.Jenkins介绍 Jenkins是一个开源的.用Java编写的持续集成和持续交付(CI/CD)工具.它提供了一种简单易用的方式来自动化构建.测 ...
- 快速掌握服务网格系列二:云原生、K8S、服务网格(Service Mesh)及微服务之间的关系
快速掌握服务网格系列二:云原生.K8S.服务网格(Service Mesh)及微服务之间的关系 首先看下CNCF对云原生的定义: Cloud native technologies empower o ...
- echarts label formatter params backgroundColor rich 标签设置背景图并传参
小技巧 如果想给label设置背景图,需要使用到rich属性,按照官网示例就可以实现,折线.柱图都一样. 但是大多数情况formatter都是用来通过params里面参数设置自定义的逻辑,如何将两者结 ...