顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2023-02-21 20:32:08
看板 MobileComm
作者 ivon852 (內容農場殺手)
標題 [討論] 手機跑AI繪圖 Stable Diffusion
時間 Mon Feb 20 00:02:22 2023


AI繪圖軟體,最近比較熱門的是Stable Diffusion,它的好處為能在自己的電腦跑,而不
用依賴雲端服務,硬體到位想做什麼都可以。

這時候不禁想到,手機是否也有跑AI繪圖模型的辦法?畢竟都有人用樹莓派跑了

最近有開發者自行移植Stable Diffusion到iOS平台,蘋果使用者可以直接下載APP來玩,
配合最新iPhone的性能,幾分鐘就能出圖,該APP稱之為Draw Things。

那如果是Android平台呢?乾脆直接跑電腦版Stable Diffusion吧,所以有了這篇的實驗


網誌好讀版:https://reurl.cc/a155Ml
如何在Android手機跑Stable Diffusion,用於AI繪圖 | Ivon的部落格
[圖]
English version 這篇文章記錄嘗試在Android手機跑Stable Diffusion,用於AI繪圖的過程,免Root。 Why? 因為你值得,寶礦力水得。 看到Github有人用8GB的樹莓派4跑Stable Diffusio…… ...

 

建議硬體:

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 (臺灣)
※ 作者: ivon852 2023-02-20 00:02:22
※ 文章代碼(AID): #1ZyaWJam (MobileComm)
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1676822547.A.930.html
※ 編輯: ivon852 (114.40.6.25 臺灣), 02/20/2023 00:18:21
benjaminchia: 自言自語1F 02/20 00:21
NX9999: 彩!!2F 02/20 00:31
jaspergod: 實驗精神推XD 瞎搞也是種浪漫3F 02/20 00:39
saimeitetsu: PC都熱爆了,用手機跑soc應該會提早虛焊4F 02/20 00:58
其實CPU算的時候並沒有比長時間錄製4K熱
sismiku: 然後就可以出保了5F 02/20 02:00
hollen9: 某樓標準劣幣逐良幣6F 02/20 06:30
jhangyu: 推,不過實在太久了,3060出圖不過6~8秒7F 02/20 07:29
BlackCoal: S865的手機價格,組一台PC還比較划算8F 02/20 07:51
sixkeeper: 好猛推個,不曉得有沒有可能推APP出來?9F 02/20 08:49
Arbin: Termux那ART沙箱環境做chroot的效能會差一點10F 02/20 08:50
s78513221: 我還是手機上colab吧11F 02/20 08:51
Arbin: 只是也不知道直接用root的方式做chroot會不會有其他問題就12F 02/20 08:52
Arbin: 是了
從ADB shell進入chroot就不會有Termux耗盡記憶體崩潰的問題。ADB Shell是純文字介面,
Android圖形介面當掉的時候照樣能運作
keigowei: 真的很爛慢…很厲害的實驗14F 02/20 09:05
weltschmerz: 放過手機 請用雲端算圖==15F 02/20 09:16
Sinreigensou: 為何要用手機做啊 技術展示?16F 02/20 09:22
lkj12tw: 推一個17F 02/20 09:34
kkagq: 應該拿pixel來試試,這兩年吹AI多強,真正應用派上用場,18F 02/20 09:36
kkagq: 看是不是真有本事
首先要有蘋果那種成熟的AI框架給人利用
emptie: 推實驗精神20F 02/20 09:52
sheng76314: 手機都能算 a卡…21F 02/20 10:47
square4: 都走雲端,幾秒鐘出圖https://i.imgur.com/kR0ybym.jpg22F 02/20 10:52
[圖]
lsps40803: 雲端就能做到的事為什麼要虐待你的手機...23F 02/20 10:53
雲端有可能擋nsfw =w= 不過控制的好也是比自家電腦快很多
milk830122: 因為這個還是對n卡支援好很多 沒vram算都超慢的 不如24F 02/20 10:53
milk830122: 用網路的幫你算
abc0922001: 強26F 02/20 11:01
double5915: 手機:....幫復....27F 02/20 11:16
guogu: a卡能算阿 網路上教學也不少吧28F 02/20 11:29
louie0909: 是說手機的npu有開放api之類的嗎 每次新處理器發表都29F 02/20 12:16
louie0909: 再吹ai性能多猛多猛
henrylin8086: 這折騰很像很好玩31F 02/20 12:16
LoveShibeInu: 笑死 美好星期天就是要這樣浪費32F 02/20 12:17
※ 編輯: ivon852 (223.139.117.41 臺灣), 02/20/2023 12:31:31
superstu: 猛欸,跪著看這篇33F 02/20 12:44
shengshampoo: 物盡其用不是壞事,DIY土炮也可以發揮創意。34F 02/20 13:27
shengshampoo: 徒手製作噴射火箭飛上天空,也是需要這類人才能付
shengshampoo: 諸實行。
Loliprpr: 雲端都有免費P100能用 怎麼會想用手機跑XD37F 02/20 15:15
a0910bb: 推38F 02/20 17:44
ymx3xc: 推 新燒機模式39F 02/20 20:43
ncuephysics: 用模擬器好了40F 02/21 04:03
devilhades: 我...我還是乖乖NovelAI吧41F 02/21 14:34

--
※ 看板: MobileComm 文章推薦值: 0 目前人氣: 0 累積人氣: 201 
作者 ivon852 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇