思路
其實很簡單, 我們只需要將映象裡面的動態路徑對映到 NAS檔案儲存裡面即可,利用 NAS 獨立儲存檔案模型,擴充套件,語言包等,並且我們可以為管理 NAS 單獨配置一個視覺化的後臺,用簡單的檔案上傳刪除的方式管理我們的檔案,為此我們需要展開打映象的指令碼,為了完成全套的流程我們接下來盤一下整體的準備項。
準備項
- 開通阿里雲函式計算
- 檔案儲存 NAS(可以根據情況自己建立效能更好的例項)
- 開通阿里雲容器映象服務 ACR
- 安裝 Serverless Devs
$ npm install @serverless-devs/s -g
- 使用 Serverless Devs 配置阿里雲金鑰資訊
快速開始
初始化應用模版
s init fc-stable-diffusion-plus
選擇 region:cn-hangzhou
輸入映象:registry.cn-hangzhou.aliyuncs.com/serverlessdevshanxie/sd-auto-nas:v1
部署應用模版
cd fc-stable-diffusion-plus && s deploy
部署需要花費一些時間(預估 5 分鐘),之後你會收到兩個域名返回。
fc-nas-init:
region: cn-hangzhou
service:
name: fc-stable-diffusion-plus
function:
name: nas-init
runtime: python3.9
handler: index.handler
memorySize: 3072
timeout: 1200
cpu: 2
diskSize: 512
fc-nas-filemgr:
region: cn-hangzhou
service:
name: fc-stable-diffusion-plus
function:
name: admin
runtime: custom
handler: index.handler
memorySize: 3072
timeout: 7200
cpu: 2
diskSize: 512
url:
system_url: https://xxx.cn-hangzhou.fcapp.run
system_intranet_url: https://xxx.cn-hangzhou-vpc.fcapp.run
custom_domain:
-
domain: http://admin.fc-stable-diffusion-plus.xxxx.cn-hangzhou.fc.devsapp.net
triggers:
-
type: http
name: httpTrigger
keep-warm:
region: cn-hangzhou
service:
name: fc-stable-diffusion-plus
function:
name: keep-warm
runtime: python3
handler: index.handler
memorySize: 128
timeout: 120
cpu: 0.1
diskSize: 512
triggers:
-
type: timer
name: timerTrigger
stable-diffusion-sd-server:
region: cn-hangzhou
service:
name: fc-stable-diffusion-plus
function:
name: sd
runtime: custom-container
handler: index.handler
memorySize: 32768
timeout: 600
cpu: 8
diskSize: 10240
url:
system_url: https://xxx.cn-hangzhou.fcapp.run
system_intranet_url: https://xxx.cn-hangzhou-vpc.fcapp.run
custom_domain:
-
domain: http://sd.fc-stable-diffusion-plus.xxxxx.cn-hangzhou.fc.devsapp.net
triggers:
-
type: http
name: defaultTrigger
其中:
http://admin.fc-stable-diffusion-plus.xxxx.cn-hangzhou.fc.dev... 是後臺管理頁面
http://sd.fc-stable-diffusion-plus.xxxxx.cn-hangzhou.fc.devsa... 是 Stable Diffusion 的操作介面
上傳模型
因為上面容器映象中移除了模型部分,所以你現在還無法啟動 Stable Diffusion 的操作介面,需要上傳自己的模型,之後再去啟動 Stable Diffusion 操作介面,上傳模型有兩個方法:
方法一
透過視覺化介面上傳,訪問 http://admin.fc-stable-diffusion-plus.xxxx.cn-hangzhou.fc.dev...,點點點,配好登入密碼之後,進來到這個介面:檔案管理,然後在路徑欄裡輸入"/mnt/auto/sd"
你就看到自己熟悉的本地目錄了~
然後再訪問 models/Stable-diffusion/ 把模型拖進來就行。
不過值得注意的是,這種方式上傳的模型超過 2、3 個 G 的時候會不穩定。所以如果你的模型很大,可以考慮用我們提供的 nas 指令。
方法二
使用 nas 指令上傳,進入專案根目錄,執行↓
s fc-nas-init nas upload -r <你的模型地址> /mnt/auto/sd/models/Stable-diffusion/
就可以,剩下的就是等待,可能要花費 30 分鐘。
注: 其他的如 controlNet,extension 可以按照類似的方式,不過注意對應的 nas 地址變一下。
頁面瀏覽
準備就緒後我們開始使用頁面了,開啟這個地址↓
http://sd.fc-stable-diffusion-plus.xxxxx.cn-hangzhou.fc.devsa... 冷啟動會有一定的載入時間。
文生圖
圖生圖
其他的自己可以多摸索摸索。
有獎體驗
阿里雲將提供免費 Serverless 函式計算產品資源,邀請你,體驗一把 AIGC 級的畢加索、達芬奇、梵高等大師作畫的快感。下面請盡情發揮你的想象空間!!雙重獎品設定,完成體驗場景可得社群 1000 積分兌換獎品,還可參加 AI 生成影像比賽贏取 Airpods、500 元貓超卡及社群定製抱枕!
? 體驗地址:
https://developer.aliyun.com/topic/aigc
<p align=center>你也可以輕鬆做出下方畫作??</p>