通過GitHub以及csdn開始安裝
先是進行搜索如何本地安裝,找到了兩種安裝方法:一個是結(jié)合WebUI來進行本地部署;還有一個就是直接安裝到本地通過代碼段進行繪圖。因為之前做畢設(shè)已經(jīng)有過配置環(huán)境的經(jīng)驗,于是選擇第二種,開始了踩坑。
這里主要是借鑒了一下二位大佬的安裝記錄,這里插入一下二位的指導(dǎo)鏈接。
鏈接: AI專業(yè)教您保姆級在暗影精靈8Windows11上本地部署實現(xiàn)AI繪畫:Stable Diffusion(萬字教程,多圖預(yù)警).
鏈接:當(dāng)我讓AI描繪古代男子謫仙外貌。。。
安裝Anaconda,編譯器以及CUDA、Cudnn
這里的話,大多數(shù)博主都是有教程的,我上面發(fā)的第一個鏈接也有詳細的過程,這里就不再贅述。主要講講編譯器的選擇。
編譯器
編譯器的話可以選擇Pycharm,但這個要么用盜版,要么你去搞個社區(qū)版都可以;也可以選擇vscode,開源軟件,直接下載插件進行編譯也可以。**從顏值來說我個人更喜歡vscode,配置也不復(fù)雜,而且有輕量化的優(yōu)點。**編譯器的選擇看個人喜好,沒有什么區(qū)別,Pycharm編譯會更加好,很多時候vscode會報錯而Pycharm就可以直接執(zhí)行。
CUDA與Cudnn安裝,涉及電腦顯卡的版本配置問題
不同顯卡的cuda對應(yīng)版本可以通過win+R再輸入cmd,鍵入以下命令來看:
nvidia-smi
會顯示如下信息:
其中Driver Version就是驅(qū)動版本,可以通過以下NVIDIA官網(wǎng)自行查閱兼容的CUDA版本:
CUDA與顯卡Driver Version對應(yīng)版本查閱
Cudnn則通過以下連接查詢對應(yīng)的CUDA版本下載:
Cudnn的下載以及對應(yīng)CUDA版本的查詢
再之后的安裝可以參考其他博主這里不贅述。這里安裝的是cuda11.1還有cudnn8.0.5。
本地部署
按照教程開始部署,總結(jié)來說為以下幾步:
-
git克隆項目到本地(沒有安裝Git就直接Download ZIP);
-
進入官網(wǎng)https://huggingface.co/CompVis/stable-diffusion-v-1-4-original下載sd-v1-4.ckpt權(quán)重模型(根據(jù)我查到的資料,還可以去添加其他模型,這個暫時還沒嘗試,因為還沒通過這個模型拋出滿意結(jié)果);
-
在克隆文件的models/ldm下自行新建stable-diffusion-v1文件夾,并把下載的ckpt文件重命名為model.dkpt放進去。
以上就是本地部署的過程,如果運氣好應(yīng)該就可以直接搞定,當(dāng)然一般是不行的,之后開始正式記錄本人的踩坑過程。
踩坑實錄
常見問題
詳見連接:當(dāng)我讓AI描繪古代男子謫仙外貌。。。
其中還會碰到一個問題說是無法import clip,這個問題也好解決,直接pip install clip
就可以了。
通過丐版的模型,雖然可以運行,顯存也沒有爆炸,仍然無法出圖,于是開始嘗試以下方法。
Pytorch版本問題
本來電腦就配置過pytorch1.8.0版本,但是這個項目主要針對RTX30系以上顯卡,本人的是四五年前的GTX1660Ti,顯存和算力以及可用CUDA均落后不少,所以開始自行魔改。
這里有一個很重要的經(jīng)驗是自己踩坑踩出來的:其他包的配置與pytorch的版本兼容要事先查好?。。∫茨憔拖妊b好其他包再去裝pytorch也有可能可以(這個只是看到有認(rèn)識這么說,我自己踩坑了沒有試過)
顯卡問題,自己配置Pytorch版本
首先通過clone下來的environment.yaml,直接通過GitHub上面的介紹方法直接新建環(huán)境和配置:
conda env create -f environment.yaml
然后里面包也不多,但有些就是沒有下載下來裝上去,所以裝完了之后在鍵入以下命令查看已安裝包,在進行手動pip。
conda activate ldm
conda list
以上為官方方法,新建虛擬環(huán)境ldm并安裝所需庫,配置為cudatoolkit=11.3,pytorch=1.11.0,torchvision=0.12.0。這個環(huán)境對于我的顯卡是超過的,我的電腦最多支持cuda11.1。雖然可以跑但是沒有出結(jié)果,所以重新安裝了我的電腦可以配置的pytorch版本。
通過pytorch官網(wǎng)查閱Pytorch查詢下載語句查到可用版本1.8.0重新安裝并配置。
Pytorch版本導(dǎo)致的包不兼容
一共有兩個。
一個是pytorch-lightning,直接pip就會把我配好的torch直接卸載,折騰了我半天,試出來可以兼容pytorch1.8.0的是pytorch-lightning=1.2.0;
另一個是最后一個kornia,試出來兼容的是kornia=0.5.8。
Pytorch版本導(dǎo)致的丐版模型語句修改
這個主要是因為為了縮小模型計算量,用了經(jīng)典的model.half()
命令,以及涉及的包的變化問題。
- autocast
在官方的版本中無問題,我改成1.8.0之后就無法import這個包,最后是吧from torch import autocast
改成from torch.cuda.amp import autocast
就好了; - 調(diào)用模型中的問題
代碼邏輯中有一個如果使用了GPU版本就去調(diào)用half那句函數(shù)的邏輯,但是因為都是依托于autocast這個庫,他版本更迭了之后不太一樣,再次進行修改:
原先的with precision_scope("cuda"):
改成with precision_scope(True):
就可以跑起來了
現(xiàn)在進度
已經(jīng)通過魔改在此可以運行程序,但是仍然跑不出來,跑出來就是這個樣子:
現(xiàn)在還在找原因,等我填坑?。?/strong>
開始填坑第一彈
一開始只能用pytorch1.8.0,或者說只能用cuda11.1,是因為電腦的顯卡的驅(qū)動不高,因為電腦買的比較早,所以是457多一點,只能裝cuda11.1。之后研究發(fā)現(xiàn)cuda的驅(qū)動是可以自己去官網(wǎng)下載升級的!直接把驅(qū)動搞到了最新,目前也沒不兼容的問題,游戲也可以照常打,下面寫昨天之后的安裝過程。
升級NVIDIA驅(qū)動
通過這個鏈接進入官網(wǎng)NVIDIA官網(wǎng)驅(qū)動,會看到如下界面,按照自己電腦的顯卡填入搜索即可,具體顯卡型號可以通過打開NVIDIA的控制面板,點擊左下角的系統(tǒng)信息之后就可以看到,我的是這樣:
然后在官網(wǎng)界面填寫并搜索,找到兼容的下載即可。
下載完成后,與cuda的安裝類似,只不過這里直接精簡安裝就可以了,安裝完你的驅(qū)動就已經(jīng)是非常新的了,像我安裝完之后,直接可以安裝cuda12.1了。
再次安裝CUDA與對應(yīng)Cudnn
這個我一開始是在安裝新的驅(qū)動之前,看了下cuda10.2是兼容pytorch1.11.0的,遂沒有更新驅(qū)動,直接安裝的cuda10.2,再次安裝pytorch時卻發(fā)現(xiàn)它安裝渠道里面cuda10.2只支持到pytorch1.9,之后就都要cuda11及以上了……這里也是經(jīng)驗,以后安裝要提前看好pytorch與cuda的對應(yīng)版本到底有沒有,不能直接看官網(wǎng)的previous version有安裝語句就以為能裝。
所以在升級完驅(qū)動之后,就直接安裝了cuda11.3,這個版本能兼容pytorch的諸多版本,較為推薦,然后再去下載配套的cudnn就可以了,安裝步驟上文已經(jīng)寫過了,這里我就不再多寫。
配置pytorch以及其他所需包
這個就直接按照兩個大佬鏈接里面去下載就可以了,更新完驅(qū)動這一步基本沒有阻礙了,會碰到的問題之前也是都有寫了。配置完成,成功能跑通,但是出來的圖仍然是綠布。于是繼續(xù)查有啥問題,不同的是這回我查到了而且成功解決!
出圖是綠圖,或者是黑圖
這個我是看了很多,然后在一個教裝stable-diffusion-webui的教程里找到的:NovelAi + Webui + Stable-diffusion本地配置,里面的最下面寫了16系顯卡可能的問題,就是把autocast關(guān)掉,要用全精度去計算就可以了。
根據(jù)我自己的研究調(diào)試,他出圖包括計算過程中,會有報錯說數(shù)據(jù)格式不對,我查閱了一下就是在計算梯度的時候會出現(xiàn)nan,然后導(dǎo)致計算失敗,是在model.half()的過程中float32強轉(zhuǎn)為float16可能遇到的問題,可以理解為這個項目壓根沒有考慮30系顯卡之前可能有的算力不足以及顯存不足的問題。
現(xiàn)在的話已經(jīng)可以畫圖了,但是效果不好!待我再煉丹然后嘗試安裝stable-diffusion-webui后回來繼續(xù)填坑?。?!
兄弟們已經(jīng)可以用了,webui版本的我也搞定了,不得不說有個UI界面好用多了,模型上傳也方便,強烈推薦搞webui版本!這個版本我準(zhǔn)備卸載了
更新安裝webui版本
webui版本,可以理解為那個丐版里面,都有一個圖形化UI界面的包gradio,在我原先裝的那個丐版里面就有了一個簡易的UI界面,webui這個版本的更全,還可以更換checkpoint(比較大的預(yù)訓(xùn)練模型)以及小的輔助模型lora等。
參考鏈接就是GitHub的開源模型:WEBUI
安裝python3.10.6以及pytorch最新版本1.13,裝完之后從上述鏈接直接用git clone或者下載壓縮包解壓;然后通過cd進入解壓下來的stable-diffusion-webui目錄下,并使用下面的代碼來進行安裝其他的必須包:
pip install -r requirements.txt
順利的話就可以直接安裝,如果出現(xiàn)問題,就手動打開txt對著列表一個個手動pip。
需要注意極大概率需要kexue上網(wǎng)才可以全部安裝成功,我裝的時候是手動然后還開了一個github加速器,就沒碰到什么問題(直接搜fastgithub就可以找到這個加速器)
全部安裝完成后,通過下面代碼就可以運行:
python launch.py --autolaunch
運行完之后等一會就會有這樣的界面:
去點擊那個URI鏈接(VSCode中需要ctrl+鼠標(biāo)左鍵單擊,PyCharm好像直接單擊就可以),就會在你的默認(rèn)瀏覽器中跳出如下的UI界面:文章來源:http://www.zghlxwxcb.cn/news/detail-425010.html
然后就自己輸入文字調(diào)整參數(shù)來generate就可以啦!文章來源地址http://www.zghlxwxcb.cn/news/detail-425010.html
到了這里,關(guān)于GTX1660Ti 本地部署 Stable Diffusion踩坑記錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!