[討論] 手機跑AI繪圖 Stable Diffusion
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





--
※ 發信站: 批踢踢實業坊(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
→
02/20 00:21,
3年前
, 1F
02/20 00:21, 1F
推
02/20 00:31,
3年前
, 2F
02/20 00:31, 2F
推
02/20 00:39,
3年前
, 3F
02/20 00:39, 3F
推
02/20 00:58,
3年前
, 4F
02/20 00:58, 4F
其實CPU算的時候並沒有比長時間錄製4K熱
推
02/20 02:00,
3年前
, 5F
02/20 02:00, 5F
推
02/20 06:30,
3年前
, 6F
02/20 06:30, 6F
推
02/20 07:29,
3年前
, 7F
02/20 07:29, 7F
推
02/20 07:51,
3年前
, 8F
02/20 07:51, 8F
推
02/20 08:49,
3年前
, 9F
02/20 08:49, 9F
推
02/20 08:50,
3年前
, 10F
02/20 08:50, 10F
推
02/20 08:51,
3年前
, 11F
02/20 08:51, 11F
→
02/20 08:52,
3年前
, 12F
02/20 08:52, 12F
→
02/20 08:52,
3年前
, 13F
02/20 08:52, 13F
從ADB shell進入chroot就不會有Termux耗盡記憶體崩潰的問題。ADB Shell是純文字介面,
Android圖形介面當掉的時候照樣能運作
推
02/20 09:05,
3年前
, 14F
02/20 09:05, 14F
推
02/20 09:16,
3年前
, 15F
02/20 09:16, 15F
推
02/20 09:22,
3年前
, 16F
02/20 09:22, 16F
推
02/20 09:34,
3年前
, 17F
02/20 09:34, 17F
推
02/20 09:36,
3年前
, 18F
02/20 09:36, 18F
→
02/20 09:36,
3年前
, 19F
02/20 09:36, 19F
首先要有蘋果那種成熟的AI框架給人利用
推
02/20 09:52,
3年前
, 20F
02/20 09:52, 20F
推
02/20 10:47,
3年前
, 21F
02/20 10:47, 21F
→
02/20 10:52,
3年前
, 22F
02/20 10:52, 22F

→
02/20 10:53,
3年前
, 23F
02/20 10:53, 23F
雲端有可能擋nsfw =w= 不過控制的好也是比自家電腦快很多
推
02/20 10:53,
3年前
, 24F
02/20 10:53, 24F
→
02/20 10:53,
3年前
, 25F
02/20 10:53, 25F
→
02/20 11:01,
3年前
, 26F
02/20 11:01, 26F
推
02/20 11:16,
3年前
, 27F
02/20 11:16, 27F
推
02/20 11:29,
3年前
, 28F
02/20 11:29, 28F
推
02/20 12:16,
3年前
, 29F
02/20 12:16, 29F
→
02/20 12:16,
3年前
, 30F
02/20 12:16, 30F
推
02/20 12:16,
3年前
, 31F
02/20 12:16, 31F
推
02/20 12:17,
3年前
, 32F
02/20 12:17, 32F
※ 編輯: ivon852 (223.139.117.41 臺灣), 02/20/2023 12:31:31
推
02/20 12:44,
3年前
, 33F
02/20 12:44, 33F
→
02/20 13:27,
3年前
, 34F
02/20 13:27, 34F
→
02/20 13:30,
3年前
, 35F
02/20 13:30, 35F
→
02/20 13:30,
3年前
, 36F
02/20 13:30, 36F
推
02/20 15:15,
3年前
, 37F
02/20 15:15, 37F
推
02/20 17:44,
3年前
, 38F
02/20 17:44, 38F
推
02/20 20:43,
3年前
, 39F
02/20 20:43, 39F
推
02/21 04:03,
3年前
, 40F
02/21 04:03, 40F
推
02/21 14:34,
3年前
, 41F
02/21 14:34, 41F
MobileComm 近期熱門文章
PTT數位生活區 即時熱門文章