首页 > 其他分享 >【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?

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

时间:2023-05-09 15:24:21浏览次数:51  
标签:Serverless Diffusion cn diffusion stable hangzhou fc plus Stable

作者:寒斜

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

思路

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

准备项

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

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

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

  4. 安装 Serverless Devs [ 4]

$ npm install @serverless-devs/s -g
  1. 使用 Serverless Devs 配置阿里云密钥信息 [ 5]

快速开始

初始化应用模板

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"

image

image

image.png

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

image

然后再访问 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 冷启动会有一定的加载时间。

文生图

image

图生图

image

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

有奖体验

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

标签:Serverless,Diffusion,cn,diffusion,stable,hangzhou,fc,plus,Stable
From: https://www.cnblogs.com/alisystemsoftware/p/17385108.html

相关文章

  • ubuntu22.04 部署 stable-diffusion-webui v1.1.0
    anaconda设置anaconda下载地址https://www.anaconda.com/download#downloadsanaconda下载#wgethttps://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh安装anaconda#bashAnaconda3-2023.03-1-Linux-x86_64.sh....Anaconda3willnowbeinstalled......
  • 假期充电,用阿里云 Serverless K8s + AIGC 搭建私人代码助理
    作者:子白、冬岛AI技术正在引领科技创新浪潮,随着ChatGPT和Midjourney的走红,AIGC技术正在世界范围内掀起一股AI技术浪潮。开源领域也涌现了许多类似模型,如FastGPT、Moss、StableDiffusion等。这些模型展现出的惊人效果吸引企业和开发者们投身其中,但是复杂繁琐的部署方式......
  • 无界AI绘画基础教程,和Midjourney以及Stable Diffusion哪个更好用?
    本教程收集于:AIGC从入门到精通教程汇总简单的总结Midjourney,StableDiffusion,无界AI的区别?Midjourney,收费,上手容易,做出来高精度的图需要自己掌握好咒语。咒语写不好,像是抽奖。里面的模型基本都是大模型,小模型太少,需要一些辅助机器人或者辅助操作保持画风的一致。StableDiffus......
  • AWS Serverless Lambda Function架构设计的几种方式
    如何构建大型Serverless应用从路由方式上,Lambda大致可以分为三种架构方式1:单体应用式这种方式和传统RESTAPI很相似,以nodejs为例,在service内部使用express框架作路由,如下图所示代码示例如下constexpress=require('express')constapp=express()app.listen(80,()=>......
  • AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?
    作者:寒斜立即体验基于函数计算部署StableDiffusion:https://developer.aliyun.com/topic/aigcAIGC领域目前大火,除了Chatgpt,在文生图领域StableDiffusion大放异彩,深刻的地影响着绘画、视频制作等相关领域。利用这项技术,普通人也可以制作出令人惊叹的艺术作品。今天我们将......
  • stable-diffusion-webui 环境设置过程记录
    今天在自己的电脑上设置成功stable-diffusion-webui的环境,现记录一下过程,希望对其他人有用环境:Windows11显卡:NvidiaGeforceRTX3090时间:2023/04/301.主流程基本按照这篇知乎文章来的:喂饭级stable_diffusion_webUI使用教程-知乎(zhihu.com),这其中安装git,安装python3,都比......
  • 使用Dino+SAM+Stable diffusion 自动进行图片的修改
    SAM是Mata发布的“SegmentAnythingModel”可以准确识别和提取图像中的对象。它可以分割任何的图片,但是如果需要分割特定的物体,则需要需要点、框的特定提示才能准确分割图像。所以本文将介绍一种称为GroundingDino的技术来自动生成SAM进行分割所需的框。除了分割以外,我......
  • 量化交易之One Piece篇 - 基于天勤的数据备用方案(stable版)
    fromtqsdkimportTqApi,TqAuthfromtqsdk.tafuncimporttime_to_datetimeimportdatetimefromdatetimeimportdatetimeimportpandasimportreimportosimportwarningswarnings.filterwarnings('ignore')pandas.set_option('display.max_c......
  • CF1621A Stable Arrangement of Rooks
    题目简述:一个n*n的棋盘上,放上k个车,使得一任意车向上下左右移动一格(这里的车可以上下左右移动任意步数)后不与其他车相撞(注:不能走出棋盘之外)。个人分析:从题目可知,在车上下左右移动一格后不会与其他车相撞,换句话说,两辆车之间至少相隔一行一列,放在对角线上是最优想法,若无解则......
  • rempe-2023-Trace and Pace: Controllable Pedestrian Animation via Guided Trajecto
    #TraceandPace:ControllablePedestrianAnimationviaGuidedTrajectoryDiffusion#paper1.paper-info1.1MetadataAuthor::[[DavisRempe]],[[ZhengyiLuo]],[[XueBinPeng]],[[YeYuan]],[[KrisKitani]],[[KarstenKreis]],[[SanjaFidler]],[[OrLi......