快轉到主要內容

以CPU only模式跑Stable Diffusion WebUI

分類   開源AI應用 AI繪圖教學
標籤   Stable Diffusion WebUI
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

用CPU硬跑AI繪圖軟體 ~ Stable Diffusion WebUI,會對硬體和精神造成巨大損傷。

此圖使用Stable Diffusion WebUI生成

That’s a lot of damage!

有幾種情況你會想用CPU跑Stable Diffusion:

  • 電腦顯示卡很爛但仍想玩玩看AI繪圖
  • 顯示卡勉強可以算圖,但一訓練VRAM記憶體就爆炸
  • Stable Diffusion無法存取裝置GPU,例如樹莓派、Android手機
  • AMD或Apple使用GPU有困難

我個人是屬於第二個理由。

如果是這樣的話,用CPU跑也不是個壞選擇,只是非常慢。訓練模型更甭說了,跑個一萬年,跑到中華民國萬萬歲。

1. 調整啟動參數
#

安裝Stable Diffusion WebUI之後

  1. 使用Anaconda建立Stable Diffusion WebUI的虛擬環境
conda create --name sdwebui_cpu python=3.10.6
conda activate sdwebui_cpu
  1. 進入conda環境後,安裝Intel CPU版的PyTorch
conda install pytorch torchvision torchaudio cpuonly -c pytorch
  1. 編輯啟動指令稿(Linux為webui-user.sh,Windows為webui-user.bat),照作業系統修改成如下樣子。使用環境變數告訴系統不要使用GPU。
# Linux版
export CUDA_VISIBLE_DEVICES=-1
export COMMANDLINE_ARGS="--use-cpu all --no-half --precision full --skip-torch-cuda-test"

# Windows版
set CUDA_VISIBLE_DEVICES=-1
set COMMANDLINE_ARGS="--use-cpu all --no-half --precision full --skip-torch-cuda-test"
  1. 這樣啟動後算圖即會只使用CPU,而不會使用GPU。

2. CPU與GPU模式速度的差距
#

Intel i5-7400算一張512x512像素的圖需要10分鐘,相較之下低階顯示卡GTX 1050Ti算一張圖30秒。

完全被屌打。

那如果異想天開用CPU來訓練Textual Inversion個人模型呢?就算核心和RAM全跑滿,光10000步就需要48小時,你可以看到這是天殺的時長。

與其浪費電跑這個,還不如去蹭Google Colab的免費GPU運算資源呢。尼看看, Google Colab訓練模型只要二小時

除非是想大膽嘗試 Android手機跑Stable Diffussion的舉動,否則有電腦和雲端卻還用CPU跑就是…浪費時間XD

參考資料
#

相關文章

如何在Android手機Termux跑Stable Diffusion,用於AI繪圖
分類   開源AI應用 AI繪圖教學
標籤   Stable Diffusion Android Termux Python
Linux安裝 Style2Paints 半自動漫畫圖片上色軟體
分類   開源AI應用 AI影像處理
標籤   Image Inpainting
Android手機寫Python:Termux安裝Anaconda環境 (miniforge)
分類   智慧型手機 Termux教學
標籤   Anaconda Python Android

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。