Stable Diffusion的安裝和問題解決

小時(shí)候比較喜歡畫畫爪膊,如今AI盛行权悟,各種繪畫工具層出不窮,網(wǎng)上也看了很多推盛,stable diffusion(sd)和midjunery(mj)算是主流峦阁,國(guó)內(nèi)的文心、天工耘成、甚至抖音什么的榔昔,我也嘗試過驹闰,但是總的來(lái)說,跟sd和mj相比真的不好用撒会。后來(lái)我找了網(wǎng)上一些運(yùn)營(yíng)號(hào)問嘹朗,大多采用的是mj,不過我個(gè)人還是想試試茧彤,親自對(duì)比一下骡显,鑒于mj的付費(fèi),我先試了sd曾掂,下面是我安裝使用過程中的一些經(jīng)歷惫谤。

我的是Mac,所以就按照這個(gè)系統(tǒng)來(lái)了

一珠洗、安裝homebrew

$ /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
// 等待即可溜歪,檢查是否安裝成功
brew -V
// 打印出 homebrew 4.0.11 表示安裝成功

二、安裝python

brew install cmake protobuf rust python@3.10 git wget

也可以去官網(wǎng)下載安裝包3.10.9 或者3.10.10许蓖,手動(dòng)安裝

三蝴猪、下載SD包

1、下載資料包膊爪,解壓安裝自阱。鏈接: https://pan.baidu.com/s/1_a2dnt8ABG1txxmUSG9QOg?pwd=v1yz 提取碼: v1yz

2、從git倉(cāng)庫(kù)直接下載

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

四米酬、下載模型

可以使用上面資料包里的模型沛豌,也可以自己從官網(wǎng)下載https://huggingface.co/runwayml/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt
等模型。

這里需要注意的是赃额,下載后放置目錄stable-diffusion-webui/models/Stable-diffusion/下加派。模型有ckpt文件,也有safetensors文件跳芳,統(tǒng)統(tǒng)放進(jìn)去就行芍锦。

五、運(yùn)行

在終端中進(jìn)入你安裝的“stable-diffusion-webui”目錄飞盆,運(yùn)行 ./webui.sh

第一次運(yùn)行會(huì)安裝一些依賴娄琉,這個(gè)過程會(huì)遇到諸多問題,下面我列舉幾個(gè)桨啃。

六障涯、運(yùn)行問題解決

1俺祠、python版本問題 ??

sd運(yùn)行python是3,但是默認(rèn)是2,一般來(lái)說是不進(jìn)行覆蓋的坝咐,覆蓋它可能會(huì)導(dǎo)致系統(tǒng)腳本和其他依賴默認(rèn) Python 的軟件出現(xiàn)問題输玷。一般我們采用軟連的方式,如:sudo ln -s /usr/local/bin/python3 /usr/bin/python,但是你會(huì)發(fā)現(xiàn)報(bào)錯(cuò)了ln: /usr/bin/python: Operation not permitted逃默,也查過其他各種刪除方式都不得行。

首先安裝高版本的python后簇搅,按照下面的步驟來(lái):

(1完域、查看版本

which python 
// /usr/bin/python
which python3
// /usr/local/bin/python3

(2、編輯profile文件

vi ~/.bash_profile
// 末尾追加內(nèi)容
alias python="/usr/local/bin/python3" 
alias python2="/usr/bin/python"

(3瘩将、生效啟用

source ~/.bash_profile

這里還有個(gè)問題吟税,如果新開一個(gè)終端界面,需要重啟這個(gè)命令才能生效姿现。

2肠仪、No SDP backend available ??

Launching Web UI with arguments: --skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate
no module 'xformers'. Processing without...
No SDP backend available, likely because you are running in pytorch versions < 2.0. In fact, you are using PyTorch 1.12.1. You might want to consider upgrading.
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.
Style database not found: /Users/villen/stable-diffusion-webui/styles.csv
Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
==============================================================================
You are running torch 1.12.1.
The program is tested to work with torch 2.0.0.
To reinstall the desired version, run with commandline flag --reinstall-torch.
Beware that this will cause a lot of large files to be downloaded, as well as
there are reports of issues with training tab on the latest version.

Use --skip-version-check commandline argument to disable this check.
==============================================================================
Downloading: "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" to /Users/villen/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors

WARNING:modules.mac_specific:MPS garbage collection failed
Traceback (most recent call last):
  File "/Users/villen/stable-diffusion-webui/modules/mac_specific.py", line 38, in torch_mps_gc
    from torch.mps import empty_cache
ModuleNotFoundError: No module named 'torch.mps'                

原因:torch 的版本不對(duì)
解決方案:在安裝目錄stable-diffusion-webui 下,編輯webui-macos-env.sh文件
我的原來(lái)的配置文件如下备典;

export install_dir="$HOME"
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate"
export TORCH_COMMAND="pip install torch==1.12.1 torchvision==0.13.1"
export K_DIFFUSION_REPO="https://github.com/brkirch/k-diffusion.git"
export K_DIFFUSION_COMMIT_HASH="51c9778f269cedb55a4d88c79c0246d35bdadb71"
export PYTORCH_ENABLE_MPS_FALLBACK=1

修改好的配置文件如下:

(1异旧、在COMMANDLINE_ARGS 參數(shù)的后面添加了–reinstall-torch
(2、export TORCH_COMMAND=“pip install torch2.0.1 torchvision0.15.2”提佣,將torch的版本修改成2.0的

export install_dir="$HOME"
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate --reinstall-torch"
export TORCH_COMMAND="pip install torch==2.0.1 torchvision==0.15.2"
#export TORCH_COMMAND="pip install torch==1.12.1 torchvision==0.13.1"
export K_DIFFUSION_REPO="https://github.com/brkirch/k-diffusion.git"
export K_DIFFUSION_COMMIT_HASH="51c9778f269cedb55a4d88c79c0246d35bdadb71"
export PYTORCH_ENABLE_MPS_FALLBACK=1

3吮蛹、Symbol not found: _VTRegisterSupplementalVideoDecoderIfAvailable??

這個(gè)提示其實(shí)還是跟依賴版本有關(guān),opencv版本太老拌屏,可以這樣手工更新一下:

cd venv/bin 
source activate 
./python3.10 -m pip install --upgrade pip 
pip3 install opencv-python==4.6.0.66 deactivate

4潮针、"LayerNormKernelImpl" not implemented for 'Half’??

或者也會(huì)有這樣的提示Failed to create model quickly; will retry using slow method.其實(shí)都是顯卡的問題,一般我們工作自用的電腦的顯存都不太能夠的倚喂,所以這里需要修改一下運(yùn)行方式:

編輯webui-user.sh然低,添加:

export COMMANDLINE_ARGS="--precision full --no-half --skip-torch-cuda-test

或者我個(gè)人采用以下運(yùn)行方式:

./webui.sh --precision full --no-half

大家注意這里的half,如果你有足夠的計(jì)算資源和內(nèi)存务唐,最簡(jiǎn)單的解決方案是將數(shù)據(jù)類型更改為全精度(float32),我們這里強(qiáng)調(diào)一半带兜,其實(shí)就是半精度替代實(shí)現(xiàn)方案枫笛。有興趣可以去了解一下精度問題。

七刚照、總結(jié)

本地跑起來(lái)了刑巧,確實(shí)比較慢,風(fēng)扇都要轉(zhuǎn)費(fèi)了无畔。SD跑圖除了需要通常所說的描述要到位啊楚,還要選合適的模型或者插件,才能做出理想的圖片浑彰。

以上是本地SD安裝過程中遇到的問題恭理,畢竟免費(fèi),隨后會(huì)跟大家聊一下它和midjunery的區(qū)別以及我個(gè)人的取舍郭变。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颜价,一起剝皮案震驚了整個(gè)濱河市涯保,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌周伦,老刑警劉巖夕春,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異专挪,居然都是意外死亡及志,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門寨腔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)速侈,“玉大人,你說我怎么就攤上這事脆侮⌒炕” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵靖避,是天一觀的道長(zhǎng)潭枣。 經(jīng)常有香客問我,道長(zhǎng)幻捏,這世上最難降的妖魔是什么盆犁? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮篡九,結(jié)果婚禮上谐岁,老公的妹妹穿的比我還像新娘。我一直安慰自己榛臼,他們只是感情好伊佃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沛善,像睡著了一般航揉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上金刁,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天帅涂,我揣著相機(jī)與錄音,去河邊找鬼尤蛮。 笑死媳友,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的产捞。 我是一名探鬼主播醇锚,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼坯临!你這毒婦竟也來(lái)了搂抒?” 一聲冷哼從身側(cè)響起艇搀,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎求晶,沒想到半個(gè)月后焰雕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芳杏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年矩屁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爵赵。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吝秕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出空幻,到底是詐尸還是另有隱情烁峭,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布秕铛,位于F島的核電站约郁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏但两。R本人自食惡果不足惜鬓梅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谨湘。 院中可真熱鬧绽快,春花似錦、人聲如沸紧阔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)擅耽。三九已至艘绍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秫筏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工挎挖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留这敬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓蕉朵,卻偏偏與公主長(zhǎng)得像崔涂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子始衅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容