作者:寒斜

本篇章是阿里云函数核算布置 Stable Diffusion 系列的第三篇,假如说第一篇是尝试运用云服务来处理用户本地布置 StableDiffusion 的问题(显卡成本,布置技能复杂),第二篇是面向技能同学处理云服务 StableDiffusion 的有用性问题(自定义模型,扩展),那么本篇则是以更大众的方法实现本地电脑的平替,使得人人皆可具有一套有用的 StableDiffusion 服务,不论你是普通用户,或许是技能同学,皆可适用。

前置条件

1.注册并登录阿里云账号 [ 1]

2.注册函数核算 [ 2]

3.注册文件存储 NAS 服务 [ 3]

函数核算和文件存储 NAS 都是运用的时候才去计费,现在,函数核算和文件存储 NAS 都有新用户免费额度,能够去阿里云官网收取。

快速开始

首先进入运用中心:account.aliyun.com/login/login…

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

经过模版创立运用-> 人工智能选项卡-> AI 数字绘画 Stable-Diffusion 自定义模板->立即创立。

填写表单项

挑选直接布置-> 杭州地域 -> 复制开发者准备好的容器镜像点击创立并布置默许环境

运用布置

接下来什么都不需求操作,等待运用布置即可,约花费 5-10 分钟, 假如你是技能同学,能够展开看看咱们供给的布置日志,观察布置进程。

配置办理后台

布置成功后得到两个域名。

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

其中 StableDiffusion 最初的是主服务,现在由于没镜像还不能拜访,admin 最初的是咱们的办理后台,接下来咱们需求先配置一下办理后台,然后把咱们的模型上传上去。

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

办理后台运用的是可道云供给的 kod-box,关于你而言一路点点点,就能够。

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

等初始化好之后,设置自己的登录账号和暗码:

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

之后进行登录:

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

登录后在途径输入 /mnt/auto/sd。

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

假如你了解 sd-webui 的目录的话,你能够看到对应的目录:

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

接下来咱们翻开 /mnt/auto/sd/models/Stable-diffusion/,然后点击上传->离线下载。

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

在这里咱们输入 sd1.5 的模型地址huggingface.co/runwayml/st…

当然,你也能够输入任意自己的地址,除了下载,你也能够把本地的模型直接拖拽上传。

由于模型较大,下载时刻预计花费 5-15 分钟,能够休息等待一下(假如提示犯错能够忽略)。

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

另外需求格外留意,假如是从 huggingface 源站下载下来的文件,需求把文件后缀改一下。

模型下载完,咱们能够翻开 StableDiffusion 的服务了。

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

源码定制

在这里也贴上构建镜像的源码,假如您是一名开发同学,能够构建自己的镜像。

根据↓

github.com/AbdBarho/st…

这个项目,替换其中的 entrypoint.sh

#!/bin/bash
set -Eeuo pipefail
# TODO: move all mkdir -p ?
mkdir -p /mnt/auto/sd/config/auto/scripts/
# mount scripts individually
find "${ROOT}/scripts/" -maxdepth 1 -type l -delete
cp -vrfTs /mnt/auto/sd/config/auto/scripts/ "${ROOT}/scripts/"
cp -n /docker/config.json /mnt/auto/sd/config/auto/config.json
jq '. * input' /mnt/auto/sd/config/auto/config.json /docker/config.json | sponge /mnt/auto/sd/config/auto/config.json
if [ ! -f /mnt/auto/sd/config/auto/ui-config.json ]; then
  echo '{}' >/mnt/auto/sd/config/auto/ui-config.json
fi
declare -A MOUNTS
MOUNTS["/root/.cache"]="/mnt/auto/sd/.cache"
# main
MOUNTS["${ROOT}/models"]="/mnt/auto/sd/models"
MOUNTS["${ROOT}/embeddings"]="/mnt/auto/sd/embeddings"
MOUNTS["${ROOT}/config.json"]="/mnt/auto/sd/config/auto/config.json"
MOUNTS["${ROOT}/ui-config.json"]="/mnt/auto/sd/config/auto/ui-config.json"
MOUNTS["${ROOT}/extensions"]="/mnt/auto/sd/config/auto/extensions"
MOUNTS["${ROOT}/outputs"]="/mnt/auto/sd/config/auto/outputs"
MOUNTS["${ROOT}/extensions-builtin"]="/mnt/auto/sd/extensions-builtin"
MOUNTS["${ROOT}/configs"]="/mnt/auto/sd/configs"
MOUNTS["${ROOT}/localizations"]="/mnt/auto/sd/localizations"
# extra hacks
MOUNTS["${ROOT}/repositories/CodeFormer/weights/facelib"]="/mnt/auto/sd/.cache"
for to_path in "${!MOUNTS[@]}"; do
  set -Eeuo pipefail
  from_path="${MOUNTS[${to_path}]}"
  rm -rf "${to_path}"
  if [ ! -f "$from_path" ]; then
    mkdir -vp "$from_path"
  fi
  mkdir -vp "$(dirname "${to_path}")"
  ln -sT "${from_path}" "${to_path}"
  echo Mounted $(basename "${from_path}")
done
if [ -f "/mnt/auto/sd/config/auto/startup.sh" ]; then
  pushd ${ROOT}
  . /mnt/auto/sd/config/auto/startup.sh
  popd
fi
exec "$@"

定制好自己的镜像之后替换上面流程中需求填写的镜像部分即可,留意对应好地域。

Q&A

下载模型不可用

需求检查模型的文件命名是否正确。

插件无法在线安装

容器镜像布置有安全约束,能够将插件下载到本地,然后经过办理后台上传到 extensions 目录下,假如想支持经过 url ,需求自行定制 docker 镜像,修正相关的参数。

怎么拜访到 StableDiffusion 的api

需求定制镜像,开启 –api 参数,然后拜访 /docs 检查可调用 api。

资费部分

本次运用依赖函数核算和 NAS 文件存储,运用前请先收取相应的免费额度或许购买相应的资源包,详细的资费阐明,请参考官网阐明。

更灵敏的定制计划

能够尝试将整个 webui 目录映射至 NAS, 这样修正源码比较便利。

其他留意事项

请重视对应的开源协议,避免您商业化或许的风险。

有奖体会

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

体会地址:

developer.aliyun.com/topic/aigc

你也能够轻松做出下方画作

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

相关链接:

[1]注册并登录阿里云账号

account.aliyun.com/login/login…

[2]注册函数核算

www.aliyun.com/product/fc?…

[3]注册文件存储 Nas 服务

www.aliyun.com/product/nas

点击此处进入体会