赞
踩
Stable Diffusion 具有一定的专业性,为了避免预期外行为,请务必通读该文档后再进行操作。
函数计算是一款 Serverless 计算产品,可以为您提供 Stable Diffusion 必需的 CPU/GPU 计算资源。如果您需要自定义模型,还需要借助 NAS 产品的存储能力来存储您的模型文件。
借助于函数计算的特性,devsapp 社区为您提供了一键部署起 Stable Diffusion 的能力。如果您在部署应用到函数计算的过程中遇到问题,可以前往qq群 370023352 寻求帮助。
由于 Stable Diffusion 及 Stable Diffusion Webui 是开源项目,我们无法针对 Stable Diffusion 自身存在的问题给出标准解答。这可能需要您在遇到问题时请前往相关社区寻求帮助。当然,如果我们对您遇到的问题有所了解,在力所能及的范围内,也会协助您更好地使用 Stable Diffusion。
以下是我接入阿里云stable diffusion的应用:
注意:
函数计算的费用计算可以理解为按运行时间计费,您可以通过开通资源包来获取存在一定额度的“代金券”(资源包),有效期内可以通过“代金券”来近似免费使用,超出额度后仍然需要原价付费。
使用时,将会根据您的实际使用时间来收取费用。默认情况下,我们为您创建的 Stable Diffusion 应用计费为 0.0126 元/秒。无论您是在生成图片,或是在调整参数,抑或是上传文件,由于都会完全独占固定的 GPU 资源,因此都会正常收取费用。但我们提供了额外的 CPU 管理工具,在您需要上传模型、插件时,通过该上传工具可以节省您 GPU 的使用量,降低您的费用消耗。
NAS 会为您永久存储您上传的文件,在您删除文件前,它也会持续向您收取费用。因此请不要无限制地上传模型。
不想看文字?视频带您使用 Stable Diffusion
AI绘画入门!5分钟/云端部署SD/一键资源包/保姆级教程
进入函数计算控制台 - 应用中心,您可以快速创建 Stable Diffusion 应用
如下为三个不同版本的创建链接
● 快速体验版,不支持更换模型:https://fcnext.console.aliyun.com/applications/create?template=fc-stable-diffusion
● 更换模型 推荐:https://fcnext.console.aliyun.com/applications/create?template=fc-stable-diffusion-plus
● API 版:https://fcnext.console.aliyun.com/applications/create?template=fc-stable-diffusion-api
进入创建应用界面后,您需要根据提示初始化您的 Stable Diffusion,如果您没有特殊需要,保持默认值即可。
创建模型后会自动跳转至部署界面,稍等一分钟等待部署完成即可
部署完成后,点击左上角的应用名,即可进入应用详情页
在这里,您可以看到两个不同的域名,分别是 sd 开头的 Stable Diffusion WebUI 页面,和 admin 开头的管理工具页面。(不可换模型版本无 admin 页面,可以跳过后续内容直接进入下一阶段)
我们建议您进入 admin 开头的管理工具页面来开始您的第一步操作
管理工具中,我们为您集成了常用操作,在这里您可以管理 NAS 文件内容,上传自己的模型,也可以查看文档及常见的问题。
为了为您提供更好的服务,当您在右上角看到更新提醒时,请点击更新至最新版
点击管理工具左侧的 Stable Diffusion,可以快捷进入 SD 页面
在 StableDiffusion 界面(非可换模型版无左侧的侧栏),您可以点击 “生成”,得到您的第一张图片。
(第一张图片生成前需要需要加载模型文件,请耐心等待片刻)
生成结果如下
在文件管理页面,我们可以从本地或其他网站,上传自定义的模型。
如我们希望上传一个 LoRA 模型,可以通过 LoRA 目录快速进入对应目录,点击右侧的上传按钮
选择好自己希望的模型后,点击开始上传
稍等片刻,即可在目录内看到我们新上传的文件
(上传依赖于您的网络稳定程度,如果网络不稳定可能会导致上传失败或文件损坏)
为了帮助您更好地快速部署模型,我们提供了内置模型仓库(模型仓库由 阿里云 OSS 提供,文件均来源于第三方)。
选择自己喜欢的模型,点击下载模型
确认文件存储地址后,点击 下载选中的模型
下载进度可以在传输列表看到
上传完成后,刷新 StableDiffusion 模型列表,即可看到新的模型
为了节省您的费用成本,不建议通过 WebUI 页面安装插件!作为替代,通过管理工具上传 zip 并解压。
ControlNet 包含插件和模型两部分。为了降低费用消耗,建议先下载到本地后,通过 admin 上传至 NAS。
ControlNet 插件地址:https://github.com/Mikubill/sd-webui-controlnet
进入页面后,点击右侧绿色的 Code 按钮,并选择 Download ZIP 下载插件代码
(Github 为境外网站,连接可能不稳定,遇到问题可以尝试重试解决)
下载完成后,通过管理工具上传您的下载的 zip 包
刷新下当前目录内容,并将 controlnet 解压到当前目录。
等待解压完成后会自动刷新,此时可以看到解压好的目录
进入目录后,将其中的内容剪切或复制至上一层
在上一层目录粘贴
最终形式如下(此时可以删掉刚才上传的 zip 包以及随机名称的文件夹)
回到 Stable Diffusion,重新加载 WebUI,然后刷新页面
确保扩展插件目录已存在 sd-webui-controlnet,应用并重启用户页面
此时可以看到您的页面上已经有了 ControlNet 配置项
接下来需要下载 SD 需要的模型,进入 HuggingFace,可以看到 ControlNet 官方模型列表
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
这里我们以 OpenPose 为例,右键 下载按钮,点击复制链接
进入 ControlNet 目录,将上面的文件离线上传。由于 HuggingFace 为境外网站,您可能需要多等待一会时间。也可以先下载到本地后再进行上传。
需要注意的是,OpenPose 还需要一些预处理器,为了提升出图效率并降低费用,建议这些也手动下载
对应地址
下载地址 | 存放目录 |
---|---|
https://huggingface.co/lllyasviel/Annotators/resolve/main/body_pose_model.pth | /mnt/auto/sd/extensions/sd-webui-controlnet-main/annotator/downloads/openpose/body_pose_model.pth |
https://huggingface.co/lllyasviel/Annotators/resolve/main/hand_pose_model.pth | /mnt/auto/sd/extensions/sd-webui-controlnet-main/annotator/downloads/openpose/hand_pose_model.pth |
https://huggingface.co/lllyasviel/Annotators/resolve/main/facenet.pth | /mnt/auto/sd/extensions/sd-webui-controlnet-main/annotator/downloads/openpose/facenet.pth |
除此之外,如果您需要编辑姿势,还需要安装姿势编辑器插件
插件的地址为 https://github.com/huchenlei/sd-webui-openpose-editor
插件安装完成后,在 Release 列表,您还需要下载并上传解压 dist.zip 到 sd-webui-openpose-editor 目录
重载 WebUI 后,您就可以正常使用 OpenPose 功能了
如下图,您需要先上传一张图片,勾选“启用”和“Allow Preview”,选择 “预处理” 为 “openpose_full” 和 “模型” 为 “control_v11p_sd15_openpose”
而后点击他们中间的按钮,即可生成姿势
通过姿势右下角的 edit,您可以自由修改姿势关键节点,并在文生图过程中得到满足姿势的图片
当您使用中文提示词时,翻译工具会错误识别 Lora,建议您使用英文提示词,或尝试使用英文逗号分隔开中文提示词和 Lora 提示词
插件不显示有如下几种可能,请逐个排查
‒ 未加载插件:新安装的插件需要您 “告诉” WebUI 有新插件存在,请进入插件列表,确保列表中已经勾选您的插件,点击应用并重启用户界面(部分插件可能需要重复 2、3 次)
‒ 插件需要 Python 依赖:为了更好地实现功能,部分插件可能需要您安装相应的 Python 依赖。可以查看插件根目录下的requirements.txt 或install.py 文件,确认插件需要的依赖列表(依赖缺失也可以通过日志看到相应报错)。而后安装相应依赖
‒ 在您管理工具的域名后添加 /terminal (如 admin.xxxxxxxxx.fc.devsapp.net/terminal )
‒ 允许读取 NAS 中的 Python 依赖目录,执行命令 echo “export PYTHONPATH=/mnt/auto/sd/python” > /mnt/auto/sd/startup.sh
‒ 设置缓存文件夹,执行命令 export TMPDIR=/mnt/auto/sd/pip-cache
‒ 安装依赖,执行命令/opt/python3.10/bin/python3.10 -m pip install -t /mnt/auto/sd/python --cache-dir /mnt/auto/sd/pip-cache -i https://pypi.tuna.tsinghua.edu.cn/simple/ {您需要安装的依赖名称}
‒ 插件需要其他依赖:查看插件文档,可以看到部分插件需要安装特殊的二进制文件,这可能需要您手动编译或安装一些内容,我们无法针对这种插件一一适配,您可以自行通过挂载 NAS + chroot 方案尝试适配相应的插件
在基本信息页面,点击 Stable Diffusion 函数名,跳转至函数计算控制台
依次进入 “调用日志” - “函数日志” 即可看到 Stable Diffusion 后台的日志内容
如果您未开通 SLS 日志功能,可通过一键开启。
注意:该功能需要额外计费,请注意关注您的账单,不需要时请及时关闭日志功能
根据该文档引导,打开日志功能。
在日志中,可以看到存在 “Downloading xxx to xxx” 的日志,这代表您使用的功能/插件需要额外的模型。
为了提升用户体验,WebUI 会尝试自动为您下载,但这会产生额外的费用。
因此,建议您在各种操作卡住时,查看您的日志,如果存在下载行为,通过 “重新加载 WebUI” + 刷新页面 停止下载,并将需要的模型下载至本地并手动上传
在基本信息页面,点击“服务名”,跳转至函数计算控制台
编辑您的日志配置,选择“禁用”。
为了进一步避免非预期计费,您还可以进入 SLS 控制台(https://sls.console.aliyun.com/)
删除您的 project
原因:同时开启 webui 页面 和 api 模式时,会优先加载 webui 页面,而后延迟加载 fastapi 启用 api 功能,因此如果刚好在加载过程中发起 API 调用,就会返回 404/502(一般只会在每个实例前几秒出现这个问题)
解决方案:开启 api 模式后禁用掉 webui(创建应用时可以选择,或者修改环境变量,增加 --no-webui)
转载自阿里云文档:《函数计算 + Stable Diffusion 使用文档》:https://alidocs.dingtalk.com/i/p/x9JOGOjr65om4QLAdy0mV8B0gpkodz89?dontjump=true#%20%E3%80%8C%E5%87%BD%E6%95%B0%E8%AE%A1%E7%AE%97%20+%20Stable%20Diffusion%20%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3%E3%80%8D
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。