近幾年AI發(fā)展迅猛,今年更是大爆發(fā),除了爆火的大模型ChatGPT以外,AI繪畫也有很大的進(jìn)步,目前,Stable Diffusion圖像生成效果相當(dāng)驚人,可以生成逼真的人像、風(fēng)景、物品圖片,還可以將圖片轉(zhuǎn)換為不同風(fēng)格。Stable Diffusion Web UI項(xiàng)目是 Stable Diffusion 模型算法的 Web 版,提供Web交互頁(yè)面,方便模型運(yùn)行。本文介紹在Windows系統(tǒng)上本地部署Stable Diffusion Web UI的方法。
環(huán)境準(zhǔn)備
由于Stable Diffusion基于深度學(xué)習(xí)框架PyTorch,需要安裝PyTorch,當(dāng)前pytorch最高支持CUDA 11.8:
本文主要使用的環(huán)境如下:
- Windows11
- CUDA 11.8,顯卡為NVIDIA RTX 4080
- Python 3.10.6
下面介紹環(huán)境安裝配置方法。
CUDA toolkit安裝
電腦需有NVIDIA顯卡,沒(méi)有也可以使用CPU,但使用CPU效率會(huì)低很多。
進(jìn)入電腦 -> 屬性 -> 設(shè)備管理器 -> 顯示適配器中查看是否有獨(dú)立顯卡。
也可以執(zhí)行命令 nvidia-smi
查看:
C:\Program Files\NVIDIA Corporation\NVSMI>nvidia-smi
Sun Jun 4 10:25:51 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 528.92 Driver Version: 528.92 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... WDDM | 00000000:01:00.0 On | N/A |
| N/A 51C P5 14W / 80W | 1619MiB / 8188MiB | 16% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1848 C+G ...lPanel\SystemSettings.exe N/A |
確認(rèn)你的N卡是否支持CUDA??傻接ミ_(dá)官網(wǎng)查看:https://developer.nvidia.cn/zh-cn/cuda-gpus
查看顯卡驅(qū)動(dòng)版本:打開(kāi)NVIDIA控制面板,點(diǎn)擊幫助 -> 系統(tǒng)信息 查看顯卡驅(qū)動(dòng)版本
CUDA toolkit版本對(duì)應(yīng)一個(gè)最低版本的顯卡驅(qū)動(dòng)程序,是向后兼容的。
CUDA版本選擇可到官網(wǎng)查看CUDA toolkit版本和顯卡驅(qū)動(dòng)版本對(duì)應(yīng)關(guān)系:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
驅(qū)動(dòng)版本為528.92,大于CUDA 11.8版本要求的最低版本520.06,可以安裝CUDA 11.8版本,到官網(wǎng)下載CUDA Toolkit 11.8.0。
CUDA Toolkit各版本下載地址:https://developer.nvidia.cn/cuda-toolkit-archive
下載完成后安裝。
安裝cuDNN
下載CUDA Toolkit版本對(duì)應(yīng)的cuDNN版本:https://developer.nvidia.com/rdp/cudnn-archive
下載cuDNN需要登錄NVIDIA,如果你不想注冊(cè)賬號(hào)或者無(wú)法登錄,可以直接使用迅雷下載:
1、復(fù)制你要下載的cuDNN版本鏈接
2、打開(kāi)迅雷下載,刪除下載鏈接中最后的斜杠
下載完成后解壓,有三個(gè)文件夾:
將解壓的文件復(fù)制到CUDA安裝目錄下:
安裝Anaconda
下載地址:https://www.anaconda.com/download
我下載的版本是當(dāng)前最新版本,對(duì)應(yīng)Python版本為Python10:https://www.anaconda.com/download#downloads
Anaconda版本對(duì)應(yīng)的python版本可到這里查看:https://docs.anaconda.com/anaconda/packages/oldpkglists/
安裝pytorch虛擬環(huán)境
由于當(dāng)前的pytorch版本最多僅支持Python 3.10.6版本,使用conda創(chuàng)建Python 3.10.6版本的Python虛擬環(huán)境pytorch:
$ conda create --prefix D:\tools\Anaconda3\envs\pytorch python==3.10.6
其中D:\tools\Anaconda3\envs\
是我的虛擬環(huán)境保存路徑,pytorch
是創(chuàng)建的虛擬環(huán)境名稱。
安裝完成后,使用 conda info --envs
命令查看虛擬環(huán)境是否安裝成功:
$ conda info --envs
# conda environments:
#
base * D:\tools\Anaconda3
pytorch D:\tools\Anaconda3\envs\pytorch
接下來(lái)激活pytorch虛擬環(huán)境:
(base) D:\> conda activate pytorch
(pytorch) D:\>
安裝pytorch
安裝pytorch:https://pytorch.org/get-started/locally/
在創(chuàng)建的pytorch虛擬環(huán)境中安裝pytorch:
(base) D:\> conda activate pytorch
(pytorch) D:\> conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
安裝完成后再命令行輸入python
,驗(yàn)證pytorch是否安裝成功:
(pytorch) D:\>python
Python 3.10.6 | packaged by conda-forge | (main, Oct 24 2022, 16:02:16) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> x = torch.rand(5, 3)
>>> print(x)
tensor([[0.2037, 0.0923, 0.8584],
[0.9501, 0.5802, 0.1615],
[0.3788, 0.1546, 0.7697],
[0.8101, 0.0193, 0.4118],
[0.8284, 0.7320, 0.7744]])
>>> torch.cuda.is_available()
True
>>>
安裝Stable Diffusion web UI
下載倉(cāng)庫(kù)
Stable Diffusion web UI倉(cāng)庫(kù)的GitHub為https://github.com/AUTOMATIC1111/stable-diffusion-webui,需要使用Git下載,也可以下載zip文件(建議使用git下載,因?yàn)榇藗}(cāng)庫(kù)還依賴其它git倉(cāng)庫(kù),另外使用git更加方便與遠(yuǎn)程GitHub倉(cāng)庫(kù)保持同步)。Git安裝配置方法可參考Git簡(jiǎn)易教程-安裝及簡(jiǎn)單使用。
在項(xiàng)目目錄下,打開(kāi)Git bash,執(zhí)行如下命令克隆Stable Diffusion web UI倉(cāng)庫(kù):
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
安裝依賴包
在安裝的pytorch
虛擬環(huán)境中安裝依賴包:
$ cd D:\devWorkspace\stable-diffusion-webui
$ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
#或者使用conda命令安裝
$ conda install --yes --file requirements.txt
啟動(dòng)webui
在項(xiàng)目根目錄執(zhí)行 python launch.py
命令啟動(dòng):
(pytorch) D:\devWorkspace\stable-diffusion-webui>python launch.py
首次執(zhí)行會(huì)下載一些模型和權(quán)重文件,耐心等待…
啟動(dòng)成功打印如下:
Python 3.10.6 | packaged by conda-forge | (main, Oct 24 2022, 16:02:16) [MSC v.1916 64 bit (AMD64)]
Version: v1.3.1
Commit hash: b6af0a3809ea869fb180633f9affcae4b199ffcf
Installing requirements
Launching Web UI with arguments:
No module 'xformers'. Proceeding without it.
Loading weights [6ce0161689] from D:\devWorkspace\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
Startup time: 8.5s (import torch: 2.5s, import gradio: 1.9s, import ldm: 0.8s, other imports: 1.4s, load scripts: 1.0s, create ui: 0.6s, gradio launch: 0.2s).
Creating model from config: D:\devWorkspace\stable-diffusion-webui\configs\v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Applying optimization: Doggettx... done.
Textual inversion embeddings loaded(0):
Model loaded in 10.3s (load weights from disk: 0.8s, create model: 0.6s, apply weights to model: 4.9s, apply half(): 1.1s, move model to device: 0.8s, load textual inversion embeddings: 2.0s).
瀏覽器訪問(wèn)地址http://127.0.0.1:7860:
注意要在創(chuàng)建的pytorch虛擬環(huán)境中啟動(dòng),可以寫一個(gè)bat腳本用來(lái)啟動(dòng)webui:
@echo off
CALL D:\tools\Anaconda3\Scripts\activate.bat D:\tools\Anaconda3\envs\pytorch
D:
cd D:\devWorkspace\stable-diffusion-webui
python launch.py
pause
其中D:\tools\Anaconda3\Scripts\activate.bat
是anaconda的activate.bat腳本路徑,D:\tools\Anaconda3\envs\pytorch
為pytorch虛擬環(huán)境路徑。
直接雙擊這個(gè)bat腳本就會(huì)自動(dòng)啟動(dòng)webui。
安裝漢化插件
頁(yè)面是英文的,可以使用漢化插件進(jìn)行漢化:
將stable-diffusion-webui-localization-zh_CN插件安裝在D:\devWorkspace\stable-diffusion-webui\extensions
目錄下,我這里使用git克隆:
$ git clone https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN.git
下載完成后重新啟動(dòng)UI,然后進(jìn)入Settings -> User interface,設(shè)置Localization為zh_CN,然后點(diǎn)擊Apply settings:
再次重啟UI生效。
簡(jiǎn)單使用
文生圖
輸入正向提示詞和反向提示詞,然后生成圖片,比如我輸入:spring, small bridge, flowing stream, some cottages, flowers
生成的圖片會(huì)保存到 outputs\txt2img-images
目錄下。
Stable Diffusion模型
可生成圖像的深度學(xué)習(xí)模型有多種,比如生成對(duì)抗網(wǎng)絡(luò)(GAN)、變分自編碼器(VAE)等。穩(wěn)定擴(kuò)散模型Stable Diffusion于2022年發(fā)布,是一種基于潛在擴(kuò)散模型(Latent Diffusion Models,LDM)的文本生成圖像的深度學(xué)習(xí)模型,由變分自動(dòng)編碼器(VAE), U-Net,和一個(gè)文本編碼器組成。此外,該模型還支持圖像到圖像的風(fēng)格轉(zhuǎn)換,以及根據(jù)簡(jiǎn)單的草圖生成圖像等。
模型下載
首次執(zhí)行python launch.py
會(huì)下載一個(gè)默認(rèn)模型v1-5-pruned-emaonly
,我們還可以到模型網(wǎng)站上下載其它類型,網(wǎng)上提供了很多訓(xùn)練好的模型,不需要自己訓(xùn)練。
下面是一些常見(jiàn)的模型網(wǎng)站:
-
C站:https://civitai.com/
-
Huggingface:https://huggingface.co/models,它還包括其它模型,選擇Text-to-Image,是Stable Diffusion可用的模型。
可以發(fā)現(xiàn)網(wǎng)站上模型類型有checkpoint、LoRA等,Checkpoint模型是stable diffusion繪圖的基礎(chǔ)模型,下載完成后放到stable-diffusion-webui\models\Stable-diffusion
目錄下。
LoRA(Low-Rank Adaptation)模型是對(duì)標(biāo)準(zhǔn)模型進(jìn)行微調(diào)得到的微調(diào)模型,利用少量數(shù)據(jù)訓(xùn)練出的某一風(fēng)格的畫風(fēng)、人物或者事物的模型,LoRA需要跟標(biāo)準(zhǔn)模型配合使用。下載的LoRA模型文件要放到stable-diffusion-webui\models\Lora
目錄下。
示例
比如到civitai網(wǎng)站下載一個(gè)基礎(chǔ)模型和LoRA模型:
- AI真人基礎(chǔ)模型ChilloutMix:https://civitai.com/models/6424/chilloutmix
- 水墨畫風(fēng)格的LoRA模型墨心 MoXin:https://civitai.com/models/12597/moxin
放到對(duì)應(yīng)目錄下后,重新啟動(dòng)UI,選擇ChilloutMix和LoRA模型:
<lora:shuimobysimV3:0.5>
中的1是模型的權(quán)重,默認(rèn)值為1。然后輸入提示詞,調(diào)整參數(shù),點(diǎn)擊生成:
最后
要生成你滿意的圖片需要設(shè)置合適的正向詞和方向詞,還有合適的模型參數(shù),多嘗試總能生成滿意的。此外,當(dāng)前開(kāi)源的Stable Diffusion模型都是基于英文訓(xùn)練的,不支持中文提示詞,IDEA研究院開(kāi)源了首個(gè)中文Stable Diffusion模型太乙,支持中文提示詞繪畫,后續(xù)將會(huì)介紹它的安裝部署方法。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-506494.html
說(shuō)點(diǎn)題外話,之前在學(xué)校的時(shí)候使用過(guò)深度學(xué)習(xí)算法來(lái)對(duì)腦電數(shù)據(jù)進(jìn)行分類,對(duì)深度學(xué)習(xí)有初步的了解,工作后很少去了解AI方面的研究進(jìn)展,今年AI爆火,相關(guān)股票暴漲,自己也體驗(yàn)了幾款ChatGPT相關(guān)的應(yīng)用,對(duì)提升工作效率方面是非常明顯的,可預(yù)見(jiàn)的是它將改變很多行業(yè)。人工智能帶來(lái)的好處和機(jī)遇是巨大的,雖然會(huì)帶來(lái)很多負(fù)面影響,比如可能引起結(jié)構(gòu)性失業(yè)、安全問(wèn)題等,但作為個(gè)人,我們必須積極擁抱這種變革才能從中獲益。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-506494.html
到了這里,關(guān)于【AI繪畫】本地部署Stable Diffusion Web UI的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!