為什麼這篇stable diffusion關鍵字鄉民發文收入到精華區:因為在stable diffusion關鍵字這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ivon852 (內容農場殺手)看板MobileComm標題[討論] 手機跑AI繪圖 Stabl...
AI繪圖軟體,最近比較熱門的是Stable Diffusion,它的好處為能在自己的電腦跑,而不
用依賴雲端服務,硬體到位想做什麼都可以。
這時候不禁想到,手機是否也有跑AI繪圖模型的辦法?畢竟都有人用樹莓派跑了
最近有開發者自行移植Stable Diffusion到iOS平台,蘋果使用者可以直接下載APP來玩,
配合最新iPhone的性能,幾分鐘就能出圖,該APP稱之為Draw Things。
那如果是Android平台呢?乾脆直接跑電腦版Stable Diffusion吧,所以有了這篇的實驗
。
網誌好讀版:https://reurl.cc/a155Ml
建議硬體:
1. 8GB以上RAM的手機,有「虛擬記憶體」功能的更好,因為Stable Diffusion建議規格
是12GB以上RAM。
2. 30GB以上的儲存空間
3. S865以上的處理器
4. 很快的網路
手機不需要root,然而沒root的情況最多只能算到320x320的圖片。有root的話可以上到
512x512。
首先我們需要Linux環境,當然就是請出Termux,然後裝Debian。
(選擇性) 編譯virgl使之能存取手機的GPU(需要支援Vulkan)
進入Debian環境,安裝Python和Pip
接著下載Stable Diffusion v1.5的模型 (30GB),要畫動漫人物則是找Anything。
WebUI目前我是裝不起來
寫個Python小程式開始算圖,關鍵字填維多利亞,長寬320像素
https://i.imgur.com/GwiyIMI.png
開發人員選項禁止所有APP在背景執行
開始算圖,等個20分鐘 (用GPU算的話15分鐘)就會出圖。關鍵字設定不好就會恐怖谷。
https://i.imgur.com/Dqfa7w8.png
如果想要算到512x512像素,我們就得另外設定Debian/Ubuntu的chroot環境。又Termux一
旦執行Stable Diffusion算更大的圖,會因佔用過多CPU被系統殺掉,因此要從電腦ADB
Shell進入手機的終端機,進入chroot,從這裡啟動算圖程式節省資源。
(嗯都用到電腦了我幹嘛還用手機算呢,電腦出圖只要30秒)
Stable Diffusion算的圖片大小越高,越吃資源。
https://i.imgur.com/gUosjoX.png
順帶一提手機沒有虛擬記憶體功能的,也可以手動在chroot裡面建立SWAP file,並將之
掛載到系統,這樣8GB手機也能擴張到20GB的RAM。
接著只要等一小時圖就會出來了 (沒辦法,chroot無法用GPU)
https://i.imgur.com/HVlfSi2.png
經歷幾小時系統不斷的崩潰和等待,做完實驗後發現我的美好星期天只剩下三個小時了。
結論是勉強可行,運算時手機其實也沒燒起來。
若有人能利用Android的AI技術移植Stable Diffusion就更好了,能有效利用手機GPU。
目前只有ncnn版的Stable Diffusion能在手機跑。
--
最真實的1944年日美海空戰,絕贊上映中。
https://i.imgur.com/XvVnOv9.png
https://i.imgur.com/z3atpS6.png
https://i.imgur.com/QrmG2LL.png
https://i.imgur.com/zZ0vNvR.png
https://i.imgur.com/dlhNnEL.png
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.6.25 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1676822547.A.930.html
※ 編輯: ivon852 (114.40.6.25 臺灣), 02/20/2023 00:18:21
Android圖形介面當掉的時候照樣能運作