作者:寒斜
本篇章是阿里云函数核算布置 Stable Diffusion 系列的第三篇,假如说第一篇是尝试运用云服务来处理用户本地布置 StableDiffusion 的问题(显卡成本,布置技能复杂),第二篇是面向技能同学处理云服务 StableDiffusion 的有用性问题(自定义模型,扩展),那么本篇则是以更大众的方法实现本地电脑的平替,使得人人皆可具有一套有用的 StableDiffusion 服务,不论你是普通用户,或许是技能同学,皆可适用。
前置条件
1.注册并登录阿里云账号 [ 1]
2.注册函数核算 [ 2]
3.注册文件存储 NAS 服务 [ 3]
函数核算和文件存储 NAS 都是运用的时候才去计费,现在,函数核算和文件存储 NAS 都有新用户免费额度,能够去阿里云官网收取。
快速开始
首先进入运用中心:account.aliyun.com/login/login…
经过模版创立运用-> 人工智能选项卡-> AI 数字绘画 Stable-Diffusion 自定义模板->立即创立。
填写表单项
挑选直接布置-> 杭州地域 -> 复制开发者准备好的容器镜像点击创立并布置默许环境。
运用布置
接下来什么都不需求操作,等待运用布置即可,约花费 5-10 分钟, 假如你是技能同学,能够展开看看咱们供给的布置日志,观察布置进程。
配置办理后台
布置成功后得到两个域名。
其中 StableDiffusion 最初的是主服务,现在由于没镜像还不能拜访,admin 最初的是咱们的办理后台,接下来咱们需求先配置一下办理后台,然后把咱们的模型上传上去。
办理后台运用的是可道云供给的 kod-box,关于你而言一路点点点,就能够。
等初始化好之后,设置自己的登录账号和暗码:
之后进行登录:
登录后在途径输入 /mnt/auto/sd。
假如你了解 sd-webui 的目录的话,你能够看到对应的目录:
接下来咱们翻开 /mnt/auto/sd/models/Stable-diffusion/,然后点击上传->离线下载。
在这里咱们输入 sd1.5 的模型地址:huggingface.co/runwayml/st…
当然,你也能够输入任意自己的地址,除了下载,你也能够把本地的模型直接拖拽上传。
由于模型较大,下载时刻预计花费 5-15 分钟,能够休息等待一下(假如提示犯错能够忽略)。
另外需求格外留意,假如是从 huggingface 源站下载下来的文件,需求把文件后缀改一下。
模型下载完,咱们能够翻开 StableDiffusion 的服务了。
源码定制
在这里也贴上构建镜像的源码,假如您是一名开发同学,能够构建自己的镜像。
根据↓
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
你也能够轻松做出下方画作
相关链接:
[1]注册并登录阿里云账号
account.aliyun.com/login/login…
[2]注册函数核算
www.aliyun.com/product/fc?…
[3]注册文件存储 Nas 服务
www.aliyun.com/product/nas
点击此处进入体会