AI绘画 | Stable Diffusion AI绘图,制作自己的LoRA模型教程

如何自己制作Lora模型去绘画某个人物或者特定的风格呢,下面以制作蔡徐坤的人物Lora模型为例,教大家怎么去制作自己的Lora模型

如何自己制作Lora模型去绘画某个人物或者特定的风格呢,下面以制作蔡徐坤的人物Lora模型为例,教大家怎么去制作自己的Lora模型。

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

使用自己做的LoRA绘制出蔡徐坤图片

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

使用自己做的LoRA绘制蔡徐坤图片

在开始制作之前,我们先回顾下什么LoRA模型,了解基本原理我们选参数时就不会手足无措。

LoRA: 全名为Low-Rank Adaptation of Large Language Models(大语言模型的低阶适配器),简单来说就是大语言模型的微调小模型,在Checkpoint的大模型的下通过这个小模型可以进行微调。模型存放位置在models\LoRA下。

可以看出LoRA是在某个Stable Diffusion大模型下训练生成的一个小模型,用于微调大模型。LoRA可以调整人物,也可以调整风格。

例如下图是加载了蒂法的LoRA,这是人物LoRA(tifaMeenow_tifaV2.safetensors)

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

加载了人物LoRA

还有改变画面风格的LoRA,例如水彩风格(Colorwater_v4.safetensors沁彩)

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

加载了水彩风格LoRA


目前进行LoRA模型训练只要8G显存就可以了(笔者就是使用1080/8g写的教程,为了适应更多人的需求,实际工作使用的3060/12G),个人推荐进行训练用3060/12G显卡这样避免显存不够的错误。训练使用的程序框架是kohya_ss。kohya_ss是一个All in One的程序包(傻瓜包)整合了训练用的所有软件,还有图形用户界面。所有软件都是在它自己的运行环境里运行,不会干扰其他的程序软件。安装kohya_ss非常简单,唯一要求是可以科学上网。

kohya_ss的地址

https://github.com/bmaltais/kohya_ss


本次例子使用真人大模型ChilloutMix.safetensors,来生成蔡徐坤的Lora,显卡使用1080/8g进行训练。

整个训练过程分为三步:

  • kohya_ss训练环境搭建
  • 图片处理和标注
  • 训练并生成LoRA模型,并用它来进行AI绘图

下面开始依次进行说明:

一. kohya_ss环境搭建,主要按照它官方的教程来,我只说明下需要注意的地方。地址是:(如果出现问题,多半是没有科学上网)

https://github.com/bmaltais/kohya_ss

依赖库安装

  • 安装 Python 3.10,将 Python 加入 'PATH' 环境变量这项打勾
  • 安装 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

进行AI绘图的人前两项安装已经装过了,所以直接跳过,只需要装第三项。

装好之后需要更改powerShell的权限,用管理员运行里执行

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

运行里输入PowerShell

输入 :Set-ExecutionPolicy Unrestricted

然后输入Y,见下图:

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

更改权限

然后关闭它就可以了。如果你windows是管理员运行的这步可以省略。

然后再开一个窗口,开全局科学上网,依次一行一行复制以下命令,一个字都不要改

git clone https://github.com/bmaltais/kohya_ss.gitcd kohya_sspython -m venv venv.\venv\Scripts\activatepip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116pip install --use-pep517 --upgrade -r requirements.txtpip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whlcp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.pycp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.pyaccelerate config

有2g左右的文件需要下载,依赖网速,可能需要半小时。其中最后一步是一个配置文件,按照你的机器选就行了,我的1080是老显卡很多优化没有,所以大部分选的NO。

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

你可以随时更改这个配置,只需要执行下面3个命令重新配置(建议第一次都选NO,后面再看看你的显卡能打开哪些开关加速)

cd kohya_ss

.\venv\Scripts\activate

accelerate config

安装好后,会有个kohya_ss目录,大小6g左右。然后右键使用powershell执行gui-user.ps1

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

就会弹出GUI界面,如下图:(建议你关掉已经启动的Stable Diffusion绘图和其他占用显存的程序,训练需要6G以上的显存空间)

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

到这里,训练环境就搭建好了。

二。图片处理和标注

1.图片下载处理

去网上下载蔡徐坤的图片,各种角度的都找,需要清晰的照片,图片分辨率随便,尽量找他单人照。建一个叫100_cxkimg的文件夹,这里100很重要,它是代表进行100次训练,你写50就是50次训练,例如50_annimg,文件名随便,最好不要用中文。你也可以学我用cxk0.jpg到cxk15.jpg命名这16张照片。

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

找了16张蔡徐坤的照片

2.标注图片

标注是机器深度学习的重要内容,这里原理不做解释了。标注的越好,模型的泛化就越强。你不标注可能生成就是个没用的模型。标注就是用提示词来说明图片的内容。这里举个例子例如上图cxk4.jpg是个穿西装的蔡徐坤,就标注成:a man in a suit and bow tie。生成标注的办法有多种,例如人工去标注,这里用个简单的办法,让机器自动标注。

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

BLIP自动标注

科学上网条件下,选择Utilities的BLIP Captioning,填入文件夹名字,点下Caption images,就会生成图片的自动标注。

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

你也可以手动标注,就是人比较累。图片自动标注后,最好打开每个文件检查下描述的正确性,删掉里面标错的文字,确保模型最后生成更加泛化的模型。

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

标注就是用提示词描述

一切准备就绪,开始最后一步了,训练模型。

三。训练模型

配置训练参数,选择训练LoRA和基于哪个大模型训练,见下图

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

大模型配置

填入训练的目录和输出地址

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

训练目录

训练参数大部分用默认值就行,其他依据你的显卡来填

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

这里有几个重要参数,如果显卡比较老用Mixed precision填no,Save precision填bf16,30系列可以试试fp16。

Learning rate:0.0001

Mixed precision:no

Save precision:bf16


准备就绪就按最下面的训练模型按钮。

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

训练模型

1080/8G显卡,16张图片共1600步花了约24分钟训练完成。得到模型caixukun_v1.safetensors。

下面用这个LoRA画的图片:

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

Stable Diffusion AI绘图,制作自己的LoRA模型教程,来画蔡徐坤

制作自己喜爱人物的LoRA吧!

0+1

评论0