【AI繪畫】A卡RX580用戶在Ubuntu下配置Stable-Diffusion實戰(zhàn)(小白純享版)


前言:
現(xiàn)在是11月16日凌晨3點左右,我作為完全零基礎(chǔ)的小白已經(jīng)折騰A卡的環(huán)境部署整整半個月了!不舍晝夜,只為了一張張好看的老婆...(不是)
今夜,我懷著激動的心情,寫下完整的部署教程,以表示對各位大佬的感謝,同時對過去半個月晝夜交替所浪費的時間和精力表示緬懷,再也不會折騰這玩意的部署了!
如果你也是A卡,如果你也恰好是RX570/RX580,
如果你也是小白,無法解決一個個命令執(zhí)行后的報錯...
如果你也渴望魔法,想成為強大的魔導(dǎo)術(shù)士...
那么就跟隨我的指引吧!保證不會踩坑!(半個月的血淚史...筋疲力盡...)

顯卡要求:
本教程理論上支持AMD GFX803架構(gòu)的顯卡,但GFX803的顯卡有哪些,全網(wǎng)都搜不到答案。
目前已驗證支持的有:RX570、RX580
完整步驟
1、安裝Ubuntu
1.1. A卡用戶目前只能在Linux下配置使用Rocm加速AI繪畫,Windows下只能使用CPU加速。
建議先在Windows下體驗AI繪畫:【AI繪畫】極限簡化,解壓即用!A/I卡可用。NovelAI貼吧一鍵部署版使用教程
1.2. 若想高速出圖,就需要在Linux下部署:
教程使用的是Ubuntu20.04.5,不能用其他系統(tǒng)哦!
iso鏡像地址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04.5/ubuntu-20.04.5-desktop-amd64.iso
如果你曾安裝高版本Ubuntu, 請務(wù)必清理干凈Ubuntu, 然后重新安裝。可參考:https://developer.aliyun.com/article/889006
如果你不會安裝雙系統(tǒng),可參考:安裝ubuntu&Windows雙系統(tǒng)保姆級教程
如果你有過U盤安裝系統(tǒng)的經(jīng)驗,我建議使用ventoy來安裝(真的很好用,我這幾天用它反復(fù)安裝了無數(shù)次系統(tǒng))
簡單來說,Ventoy是一個制作可啟動U盤的開源工具。
有了Ventoy你就無需反復(fù)地格式化U盤,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等類型的文件直接拷貝到U盤里面就可以啟動了,無需其他操作。--Ventoy官網(wǎng)說明
2.在Ubuntu下配置A卡的Rocm5.3
2.1. 配置前請務(wù)必保證系統(tǒng)全新純凈-以免出現(xiàn)各種我們小白解決不了的沖突/依賴/Bug!
2.2. 然后請嚴(yán)謹(jǐn)參考!:[stable-diffusion] RX580用戶看過來,教你開啟ROCm,加速Ai出圖?
嚴(yán)謹(jǐn)執(zhí)行此專欄的步驟到此句:
至此,所有的步驟均已完成。
然后在終端執(zhí)行此句下圖中的命令:
python3
import torch
torch.cuda.is_available
若返回結(jié)果為true,則表示rocm5.3已正確配置;
若返回結(jié)果為false,則表示配置失??!建議重復(fù)步驟/重裝系統(tǒng)
3.配置Stable-Diffusion
在rocm正確配置后,即可開始Stable-Diffusion的配置。
參考此文章:https://blog.csdn.net/qq_44948500/article/details/127346390
由于我們已經(jīng)安裝好了AMD GPU,只需執(zhí)行此文章中的部分步驟--不要反復(fù)下載!
(以下步驟選自此文章-原作者XiaozhouTAT)
3.1. 將安裝的python切換為默認(rèn)版本
#先查看本地安裝了多少個python
ls /usr/bin/python*
#正常來講會出現(xiàn)一下內(nèi)容
#/usr/bin/python ? ? ?/usr/bin/python3.10-config ?/usr/bin/python3-futurize
#/usr/bin/python3 ? ? /usr/bin/python3.8 ? ? ? ? ?/usr/bin/python3-pasteurize
#/usr/bin/python3.10 ?/usr/bin/python3-config
#我們要用的是python3.10的,所以
sudo rm /usr/bin/python ?#刪除原來的鏈接
sudo ln -s /usr/bin/python3.10 /usr/bin/python ? ?#創(chuàng)建新的鏈接
python --version ? ?#測試
本教程使用的是Ubuntu20.04,且python版本為3.8,
因此請將上圖代碼:
sudo ln -s /usr/bin/python3.10 /usr/bin/python
改為:
sudo ln -s /usr/bin/python3.8?/usr/bin/python
3.2.下載Stable-Diffusion
sudo apt install git
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
#一般會提示pip版本太低,更新一下
python -m pip install --upgrade pip wheel
3.3.添加模型
在第1步安裝ubuntu時,我曾建議下載一個window下的懶人包體驗AI繪畫:
如果你下載了,即可找到stable-diffusion-webui-master——models——Stable-diffusion——model.cpkt,將此文件復(fù)制到ubuntu的Stable-Diffusion-Webui——models——Stable-diffusion文件夾中即可;
如果未下載,可上網(wǎng)檢索尋找其他模型文件哦
3.4.避免提示CUDA錯誤
為了避免啟動時出現(xiàn)torch is not able to use gpu,請在Stable-diffusion的文件夾下找到launch.py并手動修改:
#打開launch.py找到這句代碼
commandline_args = os.environ.get('COMMANDLINE_ARGS', "")
#改成
commandline_args = os.environ.get('COMMANDLINE_ARGS', "--skip-torch-cuda-test")
記得保存
3.5.修改代理以免下載插件超時
請參考【NovelAI】【完整流程】AMD顯卡運行AI繪畫詳細教程
此視頻12:00-14:30修改代理的說明,修改完成后保存關(guān)閉launch.py
3.6.下載插件并準(zhǔn)備啟動
在安裝目錄右鍵打開終端執(zhí)行:
HSA_OVERRIDE_GFX_VERSION=10.3.0 python launch.py --precision full --no-half
等待其安裝額外的插件結(jié)束,然后報錯即可。
一般來講,此命令安裝結(jié)束后即可啟動webui,但此命令并不適合GFX803,
因為HSA_OVERRIDE_GFX_VERSION=10.3.0?該環(huán)境變量是將其他架構(gòu)的顯卡偽裝為GFX1030,參考https://www.zhihu.com/question/371965193
我們在第2步已成功配置rocm,因此只需要按照
[stable-diffusion] RX580用戶看過來,教你開啟ROCm,加速Ai出圖?
該教程末尾所說,在安裝目錄執(zhí)行:
python3 webui.py --disable-safe-unpickle
最終執(zhí)行結(jié)果如下:

點擊local URL: http://127.0.0.1:7860, 即可打開Web UI繪圖啦!
4.實操演示
首先點擊打開http://127.0.0.1:7860,進入后選擇img2img;
然后找一張自己喜歡的圖,在文本框中輸入幾個咒語:
kawaii,a girl,light blush,cat_ears,heterochromia,masterpiece,comic,;
最后點擊右側(cè)的Generate就可以啦
效果如下圖

5. 使用感受
在cpu模式下(R5-2600),512*512,20steps,平均15s/step;
在gpu模式下(RX570 4G),512*512,20steps,平均1.5s/step;
因此還是非常舒服的(≧0≦)
但多個tag、提高步數(shù)或者分辨率、圖生圖,經(jīng)常爆顯存,很難受——求大佬救救?(@_@;)
『2023.04.10更新』
不建議不熟悉git的同學(xué)使用git pull更新webui
最好是先把extension和model移出來重新git clone項目
啟動時會下載很多額外依賴-免不了遇到各種莫名其妙的網(wǎng)絡(luò)問題下載不下來
比如taming-transformers 無論怎么搞都無法使用啟動命令自動拉去下來
只能在repositories文件夾手動git clone拉取項目(真的很想吐槽國內(nèi)的網(wǎng)絡(luò)啊,npm,pip也是,浪費時間和精力……讓人頭痛不已??)

結(jié)語
對文中所提到的大佬再次表示感謝!
這幾乎是我第一次寫除作文以外的文章,如果有任何問題請盡情留言指出哦!
如果看到文章的你也能如愿配置成功或者有什么疑問,都可以留言哈,我會盡力幫忙(雖然我也是小白...)