最近看到朋友圈最近各種文字生圖、圖生圖,眼花繚亂的圖片AI生成,我也心動了,於是趕緊研究了下目前業內認為最強大的Midjourney、Adobe FireFly,本來想試用下,奈何全球人民太熱情了,Midjourney被薅羊毛薅的不行了,原本Midjourney剛註冊可以免費玩25次,現在也被Midjourney關閉了。
於是我決定找找有沒有開源的,免費的,生成數量不受限制,生成時間快,不用排隊,自由度高很多,不用被nsfw約束,可以除錯和個性化的地方也更多的工具,經過一番探索,終於發現了,現在不少強大的圖片AI生成工具,都基本運用到了Stable Diffusion這個框架
模型。可以說,Stable diffusion是當前最多人使用且效果最好的開源AI繪圖軟體之一,屬於當紅炸子雞了。
那我們就開始來看看,如何把Stable Diffusion這個框架模型部署到本地把。
前言
如果你能夠使用各大線上的AI繪圖平臺來生成影像,那就相當於小學水平的熟練程度。
如果你可以使用本地化部署Stable Diffusion來執行ai繪畫,那就和高中畢業生一樣了,已經具備了一定的繪畫技能。
當然要想到達大學畢業水平,也就是可以隨心所欲地使用AI繪圖,就需要了解更多的技術細節,並一步步提升它們的熟練程度。
一、要求
本地化部署執行Stable Diffusion有一些基本要求:
(1)需要擁有NVIDIA顯示卡,GT1060起,視訊記憶體4G以上。(已經不需要3080起,親民不少)
(2)作業系統需要win10或者win11的系統。
(3)電腦記憶體16G或者以上。
(4)最好會魔法上網,否則網路波動,有些網頁打不開,有時下載很慢。
(5)耐心,多嘗試,多搜尋。
我的電腦是惠普的工作站,視訊記憶體都16G,記憶體都64G,正常不需要這麼高配置。給一個朋友的電腦配置供大家參考,Win11,I5,NVIDIA GT1060 5G,16G。
朋友電腦生成一張20step的圖大概20-30s;
我的電腦生成一張20step的圖大概5-6s,好一點的電腦,生成圖確實快。
二、Stable diffusion WebUI專案
如果直接對stable diffusion專案進行本地化部署,使用基本需要使用純程式碼介面,對於非程式設計師沒那麼友好。所以我選擇了stable diffusion webui,它是基於stable diffusion 專案的視覺化操作專案。透過視覺化的網頁操作,就可以更方便除錯prompt,及各種引數,同時也附加了很多功能,比如img2img功能,extra放大圖片功能等等。
因此stable diffusion webui專案是很多人部署到本地的首選。本教程也是以stable diffusion webui專案為例來操作的。
三、電腦基礎工具安裝及環境配置
1. 安裝Anaconda
從anaconda官網,下載安裝anaconda。具體教程詳見官網教程。
如果覺得Anaconda太大,也可以從 https://docs.conda.io/en/latest/miniconda.html 下載並安裝Miniconda,這裡也可以參考官方安裝步驟去安裝Anaconda。
2. 配置conda環境
啟動windows命令視窗,在搜尋中輸入cmd
即可開啟,輸入以下命令:
conda config --set show_channel_urls yes
右鍵Anaconda圖示,在屬性中找到Anaconda所在根目錄,就是下圖紅框的目錄,然後開啟該目錄,就可以找到.condarc檔案。
用記事本開啟並修改.condarc檔案。把下面的內容全部複製進去,全部覆蓋原內容,ctrl+s儲存,關閉檔案。
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
在windows命令視窗中執行conda clean -i 清除索引快取,以確保使用的是映象站的地址。
conda clean -i
3. 建立python環境
在windows命令視窗中執行下面語句,建立python 3.10.6版本的環境。
conda create --name stable-diffusion-webui python=3.10.6
系統可能會提示y/n, 輸入y,按回車即可。
最終顯示done,那就完成了。
4. 啟用pyton環境並升級pip
繼續在windows命令視窗中輸入conda activate stable-diffusion-webui 回車。
conda activate stable-diffusion-webui
繼續在cmd中升級pip
python -m pip install --upgrade pip
繼續在windows命令視窗中設定pip的預設庫包下載地址為清華映象。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
5. 安裝git
安裝git其實不太難,只要一路點next就可以完成,具體可以參考git詳細安裝教程
軟體包下載地址
安裝完成後,在windows命令視窗中執行下面命令,看到安裝的git版本就表示安裝成功了
git -v
6.安裝cuda
cuda是NVIDIA顯示卡用來跑演算法的依賴程式,所以我們必須安裝它。開啟NVIDIA cuda官網,(如果打不開,請用魔法上網。)
在windows命令視窗中執行下面命令,檢視你的cuda版本
nvidia-smi
比如是11.7的版本,就下載11.7的連結,但是我這顯示卡配置比較高,顯示的是12.0版本,我最後還是選擇了較低的11.7版本的cuda,主要是現在stable diffusion專案中的torch不一定支援高版本的cuda。
然後按照自己的系統,選擇win10或者11,exe(local),Download(如果下載慢,請用魔法上網。)
下載完後安裝,這個軟體2.5G,可以安裝在c盤以外的地方。
到此,電腦的基礎環境設定終於完事了。接下來,我們開始安裝stable diffusion了。
五、stable diffusion 環境配置及安裝
1. 下載stable diffusion原始碼
在windows命令視窗中執行下面命令,切換目錄到其它硬碟空間更大的盤(不建議直接在c盤,主要是stable diffusion會有很多模型下載,會佔用比較大硬碟空間,一般至少10G以上),比如e盤,則輸入e: 按回車
e:
接下來克隆stable diffusion webui專案(下面簡稱sd-webui)
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
如果最後顯示了done,那就表示專案已經克隆到你指定盤下面了,比如說e:\stable-diffusion-webui
如果克隆得比較慢,建議開啟魔法,然後按下面步驟配置windows命令視窗使用魔法。
配置windows命令視窗使用魔法
首先,檢視本地魔法埠,如下圖顯示為10810
,有些魔法,埠也可能是1080 10809啥的,如果實在不知道哪裡檢視,依次試試,應該就能找到了。
接著依次輸入下面兩個命令,按回車。其中10810就是上面查到的埠地址,如果你的是1080,就替換成1080
set http_proxy=http://127.0.0.1:10810
set https_proxy=http://127.0.0.1:10810
最後,檢查下魔法是不是成功,使用以下命令,注意不要用ping
,出來一堆html語言啥的,那就表示成功拉。
curl https://www.google.com
2.下載stable diffusion的訓練模型
在stable diffusion模型庫點選file and versions
選項卡,下載sd-v1-4.ckpt
訓練模型。
注:這個模型是用於後續生成AI繪圖的繪圖元素基礎模型庫。
後面如果要用waifuai
或者novelai
,其實更換模型放進去sd-webui專案的模型資料夾即可。
我們現在先用stable diffusion 1.4的模型來繼續往下走。
下載好之後,請把模型更名成model.ckpt
,然後放置在sd-webui的models/stable-diffusion
目錄下。比如我的路徑是e:\stable-diffusion-webui\models\Stable-diffusion
3.安裝GFPGAN
這是騰訊旗下的一個開源專案,可以用於修復和繪製人臉,減少stable diffusion人臉的繪製扭曲變形問題。
把網頁往下拉,拉到readme.md部分,找到V1.4 model,點選藍色的1.4就可以下載。
下載好之後,放在sd-webui專案的根目錄下面即可,比如我的根目錄是e:\stable-diffusion-webui
4. 啟動sd-webui專案
4.1 檢查conda環境
在windows命令視窗中,檢查是否啟動了conda環境,如果沒有在目錄前看到(stable-diffusion-webui) 則表示沒有啟動conda環境,需要輸入以下命令來啟動:
conda activate stable-diffusion-webui
4.2 進入根目錄,啟動sd-webui專案
注意要先在windows命令視窗用cd
進入stable-diffusion-webui專案的根目錄,如果你一直是按照上面步驟做下來的話,直接執行下面命令就可以進入(博主是直接git下載下來,然後放在其它目錄,不用參考我的圖片):
cd stable-diffusion-webui
接著執行下面命令:
webui-user.bat
然後回車,等待系統自動開始執行。直到系統提示:running on local URL: http://127.0.0.1:7860
注意:
這一步可能經常各種報錯,需要耐心和時間多次嘗試。
不要關閉黑色小窗,哪怕它幾分鐘沒有任何變化。
如果提示連線錯誤,可能需要開啟魔法上網,再重新執行webui-user.bat命令(注意提前按照上面配置windows命令視窗使用魔法操作)。
六、使用stable diffusion
在瀏覽器中開啟http://127.0.0.1:7860(注意,不要關閉上面執行的windows命令視窗)
1. 設定中文介面
注意,剛開始預設為英文顯示介面,需要改成中文介面的話,可以按以下步驟操作。
先點選切換到【Extensions
】,再點選【Available
】,在【Hide extensions with tags
】中,取消勾選“localization
”,再點選【Load from
】
找到 zh_CN Localization
或 zh_TW Localization
,點選Install
按鈕
點選【 Installed
】分頁,確保頁面下方已經勾選了“stable-diffusion-webui-localization-_”,點選【UI Apply and restart UI
】,重啟頁面。
切換到【Settings
】,左側找到【User interface
】,往下拉到底,下拉框內選擇你需要的語言,比如zh_CN
返回網頁最上方,先點選【Apply settings
】,再點選【UI Reload UI
】
如果沒有問題,你的介面就是中文的了。
2. 簡單使用
在prompt區域輸入相關指令,比如beautiful landscape,然後點選右邊的生成,即可生成第一張圖片啦。
3. 進階使用
篇幅有限,關於stable diffusion AI繪圖各功能的詳細操作,我這就不展開了。感興趣的同學,可以上網搜尋很多關於AI繪圖tag/prompt的設定,也可以參考這篇部落格。
總結
不得不說,現在sd-webui這個專案網頁的互動功能,真的是好用多了,還加了很多新功能。
比如img2img功能,你可以對生成圖片的一部分不滿意的地方進行重新生成,比如嘴巴鼻子眼睛等。
甚至可以直接透過重新生成一部分內容的方式來換衣服。
還可以直接用extras功能放大生成的圖片,最多放大4倍。(512512 放大4倍= 20482048)
博主大概花了1個小時就安裝成功了,主要是用了魔法,很多時間就加速了。但小夥伴們可能在安裝過程中還會遇到各種問題,如果解決不了,也可以在評論區評論或者找到我,無償幫你除錯哈。
當然如果你還是不想花那麼多時間安裝或者電腦沒有高階顯示卡配置的花,博主後期會搭個伺服器,到時免費開放給大家測試玩。
其它資料下載
如果大家想繼續瞭解人工智慧相關學習路線和知識體系,歡迎大家翻閱我的另外一篇部落格《重磅 | 完備的人工智慧AI 學習——基礎知識學習路線,所有資料免關注免套路直接網盤下載》
這篇部落格參考了Github知名開源平臺,AI技術平臺以及相關領域專家:Datawhale,ApacheCN,AI有道和黃海廣博士等約有近100G相關資料,希望能幫助到所有小夥伴們。