AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
可观测可视化 Grafana 版,10个用户账号 1个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?

作者:寒斜


立即体验基于函数计算部署 Stable Diffusion:

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


AIGC 领域目前大火, 除了 Chatgpt,在文生图领域 Stable Diffusion 大放异彩,深刻的地影响着绘画、视频制作等相关领域。利用这项技术,普通人也可以制作出令人惊叹的艺术作品。今天我们将使用阿里云函数计算来部署一套 Stable Diffusion WebUi,给大家展示一下这项技术的魅力。在进入技术教程之前,我们先看一下笔者生成的相关图片内容。


Stable Diffusion WebUi:

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


画廊


sd+ mdjrny/ChilloutMix

Cheese Daddy

国风

daclefo_painting


函数计算的优势


  • 开箱即用,通过应用中心或者 Serverless Devs 一键部署快速体验,无需进行复杂的环境配置
  • 用时消费,通过 Serverless 弹性策略在您启动服务的才开始计费
  • 支持 GPU 渲染,出图快,花费低


准备项


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

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

3. 下载 Serverless Devs[3]

4. 使用 Serverless Devs 配置阿里云秘钥信息[4]


快速开始


一行指令部署

  • 创建一个本地文件目录如 stable-diffusion
  • 在 stable-diffusion 目录下创建一个 s.yaml 文件,内容如下


edition: 1.0.0
name: fc-stable-diffusion
access: default
services:
  cn-shanghai-stable-diffusion-sd:
    component: devsapp/fc
    props:
      region: cn-shanghai
      service:
        description: stable-diffusion部署到函数计算
        internetAccess: true
        name: stable-diffusion
      function:
        handler: index.handler
        timeout: 600
        diskSize: 10240
        caPort: 7860
        instanceType: fc.gpu.tesla.1
        runtime: custom-container
        cpu: 8
        customContainerConfig:
          args: ''
          accelerationType: Default
          image: registry.cn-shanghai.aliyuncs.com/vipas/stable-diffusion-web:v2
          accelerationInfo:
            status: Preparing
          command: ''
          webServerMode: true
        instanceConcurrency: 1
        memorySize: 32768
        environmentVariables: {}
        gpuMemorySize: 16384
        name: sd
        asyncConfiguration: {}
      triggers:
        - name: defaultTrigger
          description: ''
          type: http
          qualifier: LATEST
          config:
            methods:
              - GET
              - POST
              - PUT
              - DELETE
            authType: anonymous
            disableURLInternet: false
      customDomains:
        - domainName: auto
          protocol: HTTP
          routeConfigs:
            - path: /*


  • 执行部署指令


s deploy


效果预览及操作

执行完部署指令后,很快就能拿到访问地址,如下面↓

http://sd.stable-diffusion.xxxxxx.cn-shanghai.fc.devsapp.net 内容(xxxxxx为您自己账号 uid)


cn-shanghai-stable-diffusion-sd: 
  region:   cn-shanghai
  service: 
    name: stable-diffusion
  function: 
    name:       sd
    runtime:    custom-container
    handler:    index.handler
    memorySize: 32768
    timeout:    600
  url: 
    system_url:    https://sd-stable-iffusion-zulpjlkgaj.cn-shanghai.fcapp.run
    custom_domain: 
      - 
        domain: http://sd.stable-diffusion.xxxxxx.cn-shanghai.fc.devsapp.net
  triggers: 
    - 
      type: http
      name: defaultTrigger


函数计算初次启动要花费 3-4 分钟,需要完成镜像拉取,冷启动等操作。


最后画面如下:



我们提供的默认镜像自带了 sd 基础模型。

部署成功之后您可以输入一些文字描述进行图片生成,如上图 sd 生成了一只可爱的小狗🐕。


总结及扩展


函数计算部署 SD,一行指令运行即可。但我们仍然面临很多实际的使用问题,比如这里使用的镜像仅保留了一个基础模型,后面要扩展需要重新打镜像,非常麻烦,整体冷启动时长较长,初次访问体验欠佳。诸如以上,如何动态管理模型和扩展,以及加快启动速度,在接下来实践篇我们进一步探讨。


有奖体验


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


🌏 体验地址:

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


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



相关链接:

[1] 函数计算

https://www.aliyun.com/product/fc?spm=5176.devs

[2] 容器镜像服务 ACR

https://www.aliyun.com/product/acr?spm=5176.28055625.J_3207526240.121.1d22154aWn0gl1&scm=20140722.M_4776670._.V_1

[3] Serverless Devs

https://docs.serverless-devs.com/serverless-devs/quick_start

[4] 阿里云秘钥信息

https://docs.serverless-devs.com/serverless-devs/command/config#config-add-%E5%91%BD%E4%BB%A4

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4天前
|
人工智能 Linux iOS开发
AI超强语音转文本SenseVoice,本地化部署教程!
【9月更文挑战第7天】以下是AI超强语音转文本工具SenseVoice的本地化部署教程:首先确保服务器或计算机满足硬件和软件要求,包括处理器性能、内存及操作系统等。接着从官网下载适合的安装包,并按操作系统进行安装。配置音频输入设备和语言模型后,启动SenseVoice并测试其语音转文本功能。最后根据实际使用情况进行优化调整,并定期更新以获取最新功能。详细步骤需参照官方文档。
|
4天前
|
机器学习/深度学习 人工智能 测试技术
AI计算机视觉笔记二十五:ResNet50训练部署教程
该项目旨在训练ResNet50模型并将其部署到RK3568开发板上。首先介绍了ResNet50网络,该网络由何恺明等人于2015年提出,解决了传统卷积神经网络中的退化问题。项目使用车辆分类数据集进行训练,并提供了数据集下载链接。环境搭建部分详细描述了虚拟环境的创建和所需库的安装。训练过程中,通过`train.py`脚本进行了15轮训练,并可视化了训练和测试结果。最后,项目提供了将模型转换为ONNX和PT格式的方法,以便在RK3568上部署。
|
18天前
|
人工智能
|
4天前
|
机器学习/深度学习 人工智能 计算机视觉
AI计算机视觉笔记二十三:PP-Humanseg训练及onnxruntime部署
本文介绍了如何训练并使用PaddleSeg的人像分割模型PP-HumanSeg,将其导出为ONNX格式,并使用onnxruntime进行部署。首先在AutoDL服务器上搭建环境并安装所需库,接着下载数据与模型,完成模型训练、评估和预测。最后,通过paddle2onnx工具将模型转换为ONNX格式,并编写预测脚本验证转换后的模型效果。此过程适用于希望在不同平台上部署人像分割应用的开发者。
|
19天前
|
机器学习/深度学习 人工智能 前端开发
AI计算机视觉笔记三:WEB端部署YOLOv5
本文档介绍了如何将YOLOv5目标检测模型部署到Web端的方法,包括基于Flask和Streamlit两种实现方案。首先创建Python虚拟环境并安装必要的依赖库。接着详细展示了Flask方案下的前端HTML页面与后端Python逻辑代码,该方案利用Flask框架搭建服务器,处理实时视频流,并显示检测结果。随后介绍了Streamlit方案,该方案更简洁直观,适合快速开发交互式的机器学习应用。通过`streamlit run`命令即可启动应用,支持图像、视频及实时摄像头的目标检测演示。两种部署方式各有优势,Flask灵活性高,适用于复杂项目;而Streamlit则易于上手,便于快速原型设计。
|
3天前
|
机器学习/深度学习 人工智能 搜索推荐
AI技术在现代医疗领域的革命性应用
随着人工智能技术的飞速发展,其在医疗领域的应用也日益广泛。本文将从AI技术在医疗诊断、治疗和健康管理等方面的应用入手,探讨其如何改变传统医疗模式,提高医疗服务质量和效率。同时,我们也将关注AI技术在医疗领域面临的挑战和未来发展趋势。
|
2天前
|
机器学习/深度学习 人工智能 编解码
深入探索AI文生语音技术的奥秘:从文本输入到逼真语音输出的全链条语音合成过程解析
【9月更文挑战第2天】深入探索AI文生语音技术的奥秘:从文本输入到逼真语音输出的全链条语音合成过程解析
 深入探索AI文生语音技术的奥秘:从文本输入到逼真语音输出的全链条语音合成过程解析
|
3天前
|
机器学习/深度学习 存储 人工智能
AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出
【9月更文挑战第1天】AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出
AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术性文章
【9月更文挑战第10天】本文将探讨人工智能(AI)的基本原理、应用领域以及未来发展趋势。我们将通过一个简单的代码示例来展示AI的基本概念,并讨论如何将这些概念应用于实际问题中。最后,我们将展望AI的未来发展方向,并探讨它可能对社会带来的影响。
16 8
|
2天前
|
机器学习/深度学习 人工智能 自动驾驶
AI与未来:探索智能技术的新纪元
【9月更文挑战第9天】本文将探讨人工智能(AI)的发展历程、现状和未来趋势。我们将从AI的基本概念入手,逐步深入到其在各个领域的应用,以及它对社会的影响。最后,我们将展望AI的未来,探讨其可能带来的变革。

相关产品

  • 函数计算