Stable Diffusion AI绘图,制作LoRA模型教程,从此不当伸手党

SD指南2年前 (2023)发布 一起用AI
733 0 0

前面文章已经介绍了不少Stable Diffusion AI绘图的基本方法,在前面的介绍中,我们都是使用别人训练好的LoRA来进行绘图。使用别人发布的LoRA,会遇到这种情况,那就是比如某个人物或者风格没有对应的LoRA发布,那么就画不了了。人们常说:自己动手丰衣足食,别人没做就自己做吧。学会自己制作LoRA就不用当伸手党,做的好的LoRA还可发布出来供别人使用。

本例将制作蔡徐坤的Lora,并用来进行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 redistributableVisual Studio 2015, 2017, 2019, and 2022 redistributable的地址:

https://aka.ms/vs/17/release/vc_redist.x64.exe

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

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

运行里输入PowerShell

输入 :Set-ExecutionPolicy Unrestricted

然后输入Y,见下图:

Stable Diffusion AI绘图,制作LoRA模型教程,从此不当伸手党

更改权限

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

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

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

Stable Diffusion AI绘图,制作LoRA模型教程,从此不当伸手党

accelerate config

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

cd kohya_ss

.\venv\Scripts\activate

accelerate config

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

执行gui-user.ps1

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

Stable Diffusion AI绘图,制作LoRA模型教程,从此不当伸手党

kohya_ss的界面

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

二。图片处理和标注

1.图片下载处理

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

Stable Diffusion AI绘图,制作LoRA模型教程,从此不当伸手党

网上找了18张蔡徐坤的图片

2.标注图片

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

Stable Diffusion AI绘图,制作LoRA模型教程,从此不当伸手党

自动标注图片的工具

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

Stable Diffusion AI绘图,制作LoRA模型教程,从此不当伸手党

生成标注文件

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

标注就是用提示词描述

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

三。训练模型

配置训练参数,选择训练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模型教程,从此不当伸手党

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

今天就介绍到这里,我们下次见,关注我不迷路。

© 版权声明

相关文章