2023年6月5日 星期一

在樹莓派玩AI算圖,安裝篇

這篇文章是我開玩一段時間以後,才憑印象寫的,可能會多少有點小錯誤,不過大方向應該沒問題啦

stable diffusion最常見的操作界面往往是個網頁,一般叫他webui,這對樹莓派來說有點太重了...事實上目前為止我也沒有成功把webui裝起來

因此樹莓派需要的,是使用名叫diffusers的工具來簡化操作,並且所有算圖操作都會用寫python指令的方式完成

 一開始的參考文章是這篇:

https://github.com/straczowski/raspberry-pi-stable-diffusion

使用的硬體是樹莓派4 8GB版本,有裝散熱片。512GB的記憶卡(不要小於128G,至少256G,模型很吃空間的)

第一件他沒講的事情:把樹莓派的swap(虛擬記憶體)改大一點,改法先自己查,我是直接改到16G,這和顯卡算圖不同,因為是cpu算圖,吃的是主記憶體,所以記憶體不足的時候,是可以把硬碟(SD卡)拉來坦的...但是這種行為對快閃記憶體來說會扣血,所以比較像是備而不用,偶爾用一下沒關係,不要拼命用就好

其他還有幾個地方不要完全照做:

    總之先把python盡量更新一下,寫文章時樹莓派最新是3.9版

    不要急著進文字模式,其實可以在gui模式做完所有事情。如果你是讓視窗養大的希望這句話可以讓你安心點(?

    雖然裝了git lfs,可是在我實戰的時候,下一行git clone會直接把記憶體塞滿然後死當(????);改打git lfs clone可以迴避問題(不過會跟你說這方法以後遲早會拔掉。另外,上面講的swap改大有可能解決這問題

所以到這邊為止要敲的指令是

git lfs install

git clone https://huggingface.co/runwayml/stable-diffusion-v1-5

pip install --upgrade diffusers 

 繼續往下的時候,電腦會說要安裝transformsers和pytorch,照著提示安裝就行(以下憑印象):

pip install transformers

pip install torch torchvision torchaudio

這裡有個地雷要迴避:pytorch2.0版的arm執行檔是壞的 ,請手動裝1.3版或者去抓最新的2.01版(寫文章時最新)來裝(看到討論有人回報說在AWS的arm伺服器上一樣會炸掉我快笑死)

接下來有個跟記憶體使用量非常有關係的東西要裝:

pip install safetensors

這元件能讓diffusers可以直接吃safetensors格式的檔案。這有多重要?

裝了這個,算圖階段不需要把模型讀到記憶體佔空間!程式只會在需要的時候,直接去讀SD卡上的safetensors檔案需要的部份。我說不需要進文字模式,也是因為這個元件的存在。參考文章的老兄如果有裝到這個應該玩瘋了吧w

沒有留言: