作者:寒斜
本篇章是阿里云函數(shù)計算部署 Stable Diffusion 系列的第三篇,如果說第一篇是嘗試使用云服務來解決用戶本地部署 Stable Diffusion 的問題(顯卡成本,部署技術復雜),第二篇是面向技術同學解決云服務 Stable Diffusion 的實用性問題(自定義模型,擴展),那么本篇則是以更大眾的方式實現(xiàn)本地電腦的平替,使得人人皆可擁有一套實用的 Stable Diffusion 服務,不管你是普通用戶,或者是技術同學,皆可適用。
前置條件
-
注冊并登錄阿里云賬號 [ 1]
-
開通函數(shù)計算 [ 2]
-
開通文件存儲 NAS 服務 [ 3]
函數(shù)計算和文件存儲 NAS 都是使用的時候才去計費,目前,函數(shù)計算和文件存儲 NAS 都有新用戶免費額度,可以去阿里云官網(wǎng)領取。
快速開始
首先進入應用中心:https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Ffcnext.console.aliyun.com%2Fapplications&lang=zh
通過模版創(chuàng)建應用-> 人工智能選項卡-> AI 數(shù)字繪畫 Stable-Diffusion 自定義模板->立即創(chuàng)建。
填寫表單項
選擇直接部署-> 杭州地域 -> 復制開發(fā)者準備好的容器鏡像點擊創(chuàng)建并部署默認環(huán)境。
應用部署
接下來什么都不需要操作,等待應用部署即可,約花費 5-10 分鐘, 如果你是技術同學,可以展開看看我們提供的部署日志,觀察部署過程。
配置管理后臺
部署成功后得到兩個域名。
其中 Stable Diffusion 開頭的是主服務,目前因為沒鏡像還不能訪問,admin 開頭的是我們的管理后臺,接下來我們需要先配置一下管理后臺,然后把我們的模型上傳上去。
管理后臺使用的是可道云提供的 kod-box,對于你而言一路點點點,就可以。
等初始化好之后,設置自己的登錄賬號和密碼:
之后進行登錄:
登錄后在路徑輸入 /mnt/auto/sd。
如果你熟悉 sd-webui 的目錄的話,你可以看到對應的目錄:
接下來我們打開 /mnt/auto/sd/models/Stable-diffusion/,然后點擊上傳->離線下載。
在這里我們輸入 sd1.5 的模型地址:https://huggingface.co/runwayml/stable-diffusion-inpainting/resolve/main/sd-v1-5-inpainting.ckpt
當然,你也可以輸入任意自己的地址,除了下載,你也可以把本地的模型直接拖拽上傳。
因為模型較大,下載時間預計花費 5-15 分鐘,可以休息等待一下(如果提示出錯可以忽略)。
另外需要格外注意,如果是從 huggingface 源站下載下來的文件,需要把文件后綴改一下。
模型下載完,我們可以打開 Stable Diffusion 的服務了。
源碼定制
在這里也貼上構建鏡像的源碼,如果您是一名開發(fā)同學,可以構建自己的鏡像。
基于↓
https://github.com/AbdBarho/stable-diffusion-webui-docker/tree/master/services/AUTOMATIC1111
這個項目,替換其中的 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 鏡像,修改相關的參數(shù)。
如何訪問到 Stable Diffusion 的api
需要定制鏡像,開啟 --api 參數(shù),然后訪問 /docs 查看可調用 api。
資費部分
本次應用依賴函數(shù)計算和 NAS 文件存儲,使用前請先領取相應的免費額度或者購買相應的資源包,具體的資費說明,請參考官網(wǎng)說明。
更靈活的定制方案
可以嘗試將整個 webui 目錄映射至 NAS, 這樣修改源碼比較方便。
其他注意事項
請關注對應的開源協(xié)議,防止您商業(yè)化可能的風險。
有獎體驗
阿里云將提供免費 Serverless 函數(shù)計算產(chǎn)品資源,邀請你,體驗一把 AIGC 級的畢加索、達芬奇、梵高等大師作畫的快感。下面請盡情發(fā)揮你的想象空間!!雙重獎品設置,完成體驗場景可得社區(qū) 1000 積分兌換獎品,還可參加 AI 生成圖像比賽贏取 Airpods、500 元貓超卡及社區(qū)定制抱枕!
?? 體驗地址:
https://developer.aliyun.com/topic/aigc
你也可以輕松做出下方畫作????
相關鏈接:
[1] 注冊并登錄阿里云賬號
https://account.aliyun.com/login/login.htm
[2] 開通函數(shù)計算
https://www.aliyun.com/product/fc?spm=5176.devs
[3] 開通文件存儲 Nas 服務
https://www.aliyun.com/product/nas文章來源:http://www.zghlxwxcb.cn/news/detail-519990.html
點擊此處進入體驗文章來源地址http://www.zghlxwxcb.cn/news/detail-519990.html
到了這里,關于【換模型更簡單】如何用 Serverless 一鍵部署 Stable Diffusion?的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!