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