Stable Diffusion AI繪圖,制作自己的LoRA模型教程,來畫蔡徐坤
(如果覺得文章太長,不想看,可以跳過看下一篇,直接使用傻瓜包,已經(jīng)做好傻瓜包了)
前面文章已經(jīng)介紹了不少Stable Diffusion AI繪圖的基本方法,在前面的介紹中,我們都是使用別人訓(xùn)練好的LoRA來進(jìn)行繪圖。使用別人發(fā)布的LoRA,會(huì)遇到這種情況,那就是比如某個(gè)人物或者風(fēng)格沒有對(duì)應(yīng)的LoRA發(fā)布,那么就畫不了了。人們常說:自己動(dòng)手豐衣足食,別人沒做就自己做吧。學(xué)會(huì)自己制作LoRA就不用當(dāng)伸手黨,做的好的LoRA還可發(fā)布出來供別人使用。
本例將制作蔡徐坤的Lora,并用來進(jìn)行AI繪圖。我們先來看看最后的效果:(我知道可能用其他美女做成LoRA文章點(diǎn)擊率更高,但是蔡徐坤更有辨識(shí)度)


在開始制作之前,我們先回顧下什么LoRA模型,了解基本原理我們選參數(shù)時(shí)就不會(huì)手足無措。
LoRA: 全名為Low-Rank Adaptation of Large Language Models(大語言模型的低階適配器),簡單來說就是大語言模型的微調(diào)小模型,在Checkpoint的大模型的下通過這個(gè)小模型可以進(jìn)行微調(diào)。模型存放位置在models\LoRA下。
可以看出LoRA是在某個(gè)Stable Diffusion大模型下訓(xùn)練生成的一個(gè)小模型,用于微調(diào)大模型。LoRA可以調(diào)整人物,也可以調(diào)整風(fēng)格。
例如下圖是加載了蒂法的LoRA,這是人物L(fēng)oRA(
tifaMeenow_tifAV2.safetensors)

還有改變畫面風(fēng)格的LoRA,例如水彩風(fēng)格(Colorwater_v4.safetensors沁彩)

目前進(jìn)行LoRA模型訓(xùn)練只要8G顯存就可以了(筆者就是使用1080/8g寫的教程,為了適應(yīng)更多人的需求,實(shí)際工作使用的3060/12G),個(gè)人推薦進(jìn)行訓(xùn)練用3060/12G顯卡這樣避免顯存不夠的錯(cuò)誤。訓(xùn)練使用的程序框架是kohya_ss。kohya_ss是一個(gè)All in One的程序包(傻瓜包)整合了訓(xùn)練用的所有軟件,還有圖形用戶界面。所有軟件都是在它自己的運(yùn)行環(huán)境里運(yùn)行,不會(huì)干擾其他的程序軟件。安裝kohya_ss非常簡單,唯一要求是可以科學(xué)上網(wǎng)。
kohya_ss的地址
https://github.com/bmaltais/kohya_ss
本次例子使用真人大模型ChilloutMix.safetensors,來生成蔡徐坤的Lora,顯卡使用1080/8g進(jìn)行訓(xùn)練。
整個(gè)訓(xùn)練過程分為三步:
kohya_ss訓(xùn)練環(huán)境搭建
圖片處理和標(biāo)注
訓(xùn)練并生成LoRA模型,并用它來進(jìn)行AI繪圖
下面開始依次進(jìn)行說明:
一. kohya_ss環(huán)境搭建,主要按照它官方的教程來,我只說明下需要注意的地方。地址是:(如果出現(xiàn)問題,多半是沒有科學(xué)上網(wǎng))
https://github.com/bmaltais/kohya_ss
依賴庫安裝
安裝 Python 3.10,將 Python 加入 'PATH' 環(huán)境變量這項(xiàng)打勾
安裝 Git
安裝Visual Studio 2015, 2017, 2019, and 2022 redistributable
Visual Studio 2015, 2017, 2019, and 2022 redistributable的地址:
https://aka.ms/vs/17/release/vc_redist.x64.exe
進(jìn)行AI繪圖的人前兩項(xiàng)安裝已經(jīng)裝過了,所以直接跳過,只需要裝第三項(xiàng)。
裝好之后需要更改powerShell的權(quán)限,用管理員運(yùn)行里執(zhí)行

輸入 :Set-ExecutionPolicy Unrestricted
然后輸入Y,見下圖:

然后關(guān)閉它就可以了。如果你windows是管理員運(yùn)行的這步可以省略。
然后再開一個(gè)窗口,開全局科學(xué)上網(wǎng),依次一行一行復(fù)制以下命令,一個(gè)字都不要改
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
python -m venv venv
.\venv\Scripts\activate
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install --use-pep517 --upgrade -r requirements.txt
pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py
accelerate config
有2g左右的文件需要下載,依賴網(wǎng)速,可能需要半小時(shí)。其中最后一步是一個(gè)配置文件,按照你的機(jī)器選就行了,我的1080是老顯卡很多優(yōu)化沒有,所以大部分選的NO。

你可以隨時(shí)更改這個(gè)配置,只需要執(zhí)行下面3個(gè)命令重新配置(建議第一次都選NO,后面再看看你的顯卡能打開哪些開關(guān)加速)
cd kohya_ss
.\venv\Scripts\activate
accelerate config
安裝好后,會(huì)有個(gè)kohya_ss目錄,大小6g左右。然后右鍵使用powershell執(zhí)行g(shù)ui-user.ps1

就會(huì)彈出GUI界面,如下圖:(建議你關(guān)掉已經(jīng)啟動(dòng)的Stable Diffusion繪圖和其他占用顯存的程序,訓(xùn)練需要6G以上的顯存空間)

到這里,訓(xùn)練環(huán)境就搭建好了。
二。圖片處理和標(biāo)注
1.圖片下載處理
去網(wǎng)上下載蔡徐坤的圖片,各種角度的都找,需要清晰的照片,圖片分辨率隨便,盡量找他單人照。建一個(gè)叫100_cxkimg的文件夾,這里100很重要,它是代表進(jìn)行100次訓(xùn)練,你寫50就是50次訓(xùn)練,例如50_annimg,文件名隨便,最好不要用中文。你也可以學(xué)我用cxk0.jpg到cxk15.jpg命名這16張照片。

2.標(biāo)注圖片
標(biāo)注是機(jī)器深度學(xué)習(xí)的重要內(nèi)容,這里原理不做解釋了。標(biāo)注的越好,模型的泛化就越強(qiáng)。你不標(biāo)注可能生成就是個(gè)沒用的模型。標(biāo)注就是用提示詞來說明圖片的內(nèi)容。這里舉個(gè)例子例如上圖cxk4.jpg是個(gè)穿西裝的蔡徐坤,就標(biāo)注成:a man in a suit and bow tie。生成標(biāo)注的辦法有多種,例如人工去標(biāo)注,這里用個(gè)簡單的辦法,讓機(jī)器自動(dòng)標(biāo)注。

科學(xué)上網(wǎng)條件下,選擇Utilities的BLIP Captioning,填入文件夾名字,點(diǎn)下Caption images,就會(huì)生成圖片的自動(dòng)標(biāo)注。

你也可以手動(dòng)標(biāo)注,就是人比較累。圖片自動(dòng)標(biāo)注后,最好打開每個(gè)文件檢查下描述的正確性,刪掉里面標(biāo)錯(cuò)的文字,確保模型最后生成更加泛化的模型。

一切準(zhǔn)備就緒,開始最后一步了,訓(xùn)練模型。
三。訓(xùn)練模型
配置訓(xùn)練參數(shù),選擇訓(xùn)練LoRA和基于哪個(gè)大模型訓(xùn)練,見下圖

填入訓(xùn)練的目錄和輸出地址

訓(xùn)練參數(shù)大部分用默認(rèn)值就行,其他依據(jù)你的顯卡來填

這里有幾個(gè)重要參數(shù),如果顯卡比較老用Mixed precision填no,Save precision填bf16,30系列可以試試fp16。
Learning rate:0.0001
Mixed precision:no
Save precision:bf16
準(zhǔn)備就緒就按最下面的訓(xùn)練模型按鈕。

1080/8G顯卡,16張圖片共1600步花了約24分鐘訓(xùn)練完成。得到模型caixukun_v1.safetensors。
下面用這個(gè)LoRA畫的圖片:




制作自己喜愛人物的LoRA吧!
今天就介紹到這里,我們下次見,關(guān)注我,不迷路。