前言#
對於想要體驗 AI 繪圖的朋友們來說,常常由於安裝步驟繁瑣複雜,電腦配置不夠高等問題而退卻☹️
恰恰,谷歌提供了 Colab 服務,使得我們可以在其上面執行 Stable Diffusion WebUI,體驗 AI 繪圖的樂趣🥳
- Colaboratory 簡稱「Colab」,是 Google Research 團隊開發的一款產品。在 Colab 中,任何人都可以通過瀏覽器編寫和執行任意 Python 代碼。它尤其適合機器學習、數據分析和教育目的。從技術上來說,Colab 是一種托管式 Jupyter 筆記本服務。只需能訪問谷歌,以及擁有谷歌帳號,就可直接使用,還能免費使用 GPU/CPU 計算資源。
- Stable diffusion web UI 是一個基於人工智能的圖像生成工具,它使用了一種稱為 "stable diffusion" 的算法模型進行圖像生成。用戶可以通過上傳自己的圖片或使用預設的圖片,在穩定擴散網絡中應用不同的操作和參數來生成新的圖像。Stable diffusion web UI 提供了易於使用的 Web 界面,用戶可以在上面輕鬆調整參數和瀏覽生成的圖像,同時還可以導出生成的圖像。這個工具可以用於圖像生成、藝術創作、圖像處理等多種領域。
總的來說,我們可以利用 Colab 來白嫖使用 Stable Diffusion WebUI,白嫖一時爽一直白嫖一直爽😉
關於雲端部署#
- 請確認有可以魔法上網的工具,工具用於谷歌 colab 的機器學習,屬於合法範疇。
- 優勢:不需要顯卡,手機也能用,且雲端運行速度快(提供 12G 內存、15G 顯卡)。
- 由於人數較多,谷歌 colab 每個號的時間大概為 4-6 小時左右,多弄幾個號在雲盤裡主號的 json 給其他號添加編輯權限就實現了所有號共用
- 筆記本為單線程,沒法同時執行兩個任務
- 晚高峰人數較多,提示連接出錯或斷線為正常情況,可以嘗試使用 ngrok 管道進行加速。
- 可以關聯 Google 雲盤,圖片可以選擇輸出在雲盤的 outputs 文件夾裡
如果以後有一天 colab 出現類似以下提示警告:
You may be executing code that is disallowed which may terminate your runtime without warning. Colab prioritizes interactive notebook compute and disallows some types of usage when executing code without compute units as outlined in the FAQ.
請不要點仍然執行!!!
關於 Stable-Diffusion-Web-UI#
- 谷歌 colab 運行環境為 12G 內存 15G 顯存,大顯存小內存所以推薦使用半精度進行計算
- 如果圖片信息讀取圖片「不是一張 stable diffusion 圖片」說明作者上傳的圖片經過了壓縮處理,請選擇其他圖片或者複製文字與種子手動輸入
- 采樣方法推薦 DDIM 與 DPM++ 2M 高清放大推薦 潛變量 (bicubic) 與潛變量最鄰近
- 生成圖的速度與執行代碼的速度與網速無關,你就算斷網幾分鐘他也在執行
- 如果要使用手機進行局部繪圖請使用 Edge 瀏覽器,谷歌瀏覽器不兼容
- 手機操作的可以選擇「anapnoe」
筆記#
目前流行的📒是:https://github.com/camenduru/stable-diffusion-webui-colab/tree/community
可以點擊「Readme Page」查看每個📒的說明,選擇想要的,點擊「Open In Colab」圖標去執行
作者修改版:ennnnny/sd_colab
此版是基於s4afa451dgf415f/colab_stable_diffusion的基礎上做了些修改,修改內容如下(2023-05-13):
- 新增默認插件:infinite-image-browsing,一款圖片瀏覽器
- 新增默認插件:segment-anything,目前較🔥的語義分割、抠圖等工具
- 新增默認插件:Civitai-Helper,管理 model 很方便
- 新增默認插件:ui 作者的 rembg,抠圖方便
- 新增可選主題插件:kitchen-theme,比原版看起來更酷炫些
- 附加可能有用的工具:保持手機端運行(?)
- 附加可能有用的工具:壓縮打包 outputs 目錄,然後下載
- 附加可能有用的工具:XTerm Terminal(命令行)
玄學 - Colab 防掉線措施#
有時候掉線是因為網絡不穩定,有時候就是谷歌的驗證機制了 聽說可以通過自動點擊來減少掉線頻率,這時候可以利用 javascript 的語法,類似於不間斷的點擊得到以下代碼 在 Google colab 的按 F12,點擊網頁的控制台,粘貼如下代碼:
function ClickConnect(){
console.log("Working");
document.querySelector("colab-toolbar-button#connect").click();
}
setInterval(ClickConnect,60000)