stablediffusion训练LoRA模型

LoRA(Low-rank adaptation)是一种用于微调大型模型的技术。通过使用LoRA,生成的模型训练时间更短,生成的文件更小。
DreamBooth中的LoRA
DreamBooth集成了LoRA,可以作为Stable Diffusion WebUI的扩展功能进行安装。
LoRA_Easy_Training_Scripts
LoRA_Easy_Training_Scripts是一种本地训练工具,支持Linux和Windows系统。
对于使用Google Colab的用户,可以使用Linaqruf/kohya-trainer来更轻松上手。Reddit上有一张图解教程。
安装环境
以下以Ubuntu为例,介绍如何安装LoRA Easy Training Scripts。
-
安装Anaconda,并创建虚拟环境:
conda create --name loratraining python=3.10.6
conda activate loratraining
-
拷贝保存库:
git clone https://github.com/derrian-distro/LoRA_Easy_Training_Scripts.git
cd LoRA_Easy_Training_Scripts
git submodule init
git submodule update
cd sd_scripts
pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116
pip install --upgrade -r requirements.txt
pip install -U xformers
-
设置加速选项:
accelerate config
依次回答以下问题:
– This machine
– No distributed training
– NO
– NO
– NO
– all
– fp16
-
创建LoRA的训练数据目录结构:
LoRA的训练数据目录结构与常规训练不同,需要按照以下方式创建目录结构:
将已经添加好提示词的训练数据放在img_dir目录下,目录名称取名为数字_概念,数字代表要重复的步数。
-
添加训练设置档trainingconfig.json:
在LoRA_Easy_Training_Scripts目录下创建trainingconfig.json文件,并填入以下内容:
{
"pretrained_model_name_or_path": "/home/user/桌面/heralora/anything-v4.5-pruned.ckpt",
"v2": false,
"v_parameterization": false,
"logging_dir": "/home/user/桌面/heralora/log_dir/",
"train_data_dir": "/home/user/桌面/heralora/image_dir/",
"reg_data_dir": "/home/user/桌面/heralora/reg_dir/",
"output_dir": "/home/user/桌面/heralora/output_dir",
"max_resolution": "512,512",
"learning_rate": "1e-5",
"lr_scheduler": "constant_with_warmup",
"lr_warmup": "5",
"train_batch_size": 3,
"epoch": "4",
"save_every_n_epochs": "",
"mixed_precision": "fp16",
"save_precision": "fp16",
"seed": "",
"num_cpu_threads_per_process": 32,
"cache_latents": true,
"caption_extension": ".txt",
"enable_bucket": true,
"gradient_checkpointing": false,
"full_fp16": false,
"no_token_padding": false,
"stop_text_encoder_training": 0,
"use_8bit_adam": true,
"xformers": true,
"save_model_as": "safetensors",
"shuffle_caption": true,
"save_state": false,
"resume": "",
"prior_loss_weight": 1.0,
"text_encoder_lr": "1.5e-5",
"unet_lr": "1.5e-4",
"network_dim": 128,
"lora_network_weights": "",
"color_aug": false,
"flip_aug": false,
"clip_skip": 2,
"mem_eff_attn": false,
"output_name": "",
"model_list": "",
"max_token_length": "150",
"max_train_epochs": "",
"max_data_loader_n_workers": "",
"network_alpha": 128,
"training_comment": "",
"keep_tokens": 2,
"lr_scheduler_num_cycles": "",
"lr_scheduler_power": "",
"persistent_data_loader_workers": true,
"bucket_no_upscale": true,
"random_crop": false,
"caption_dropout_every_n_epochs": 0.0,
"caption_dropout_rate": 0
}
开始训练
在开始训练之前,有些系统需要指定CUDA安装路径:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
输入以下指令,加载json设置档。忽略“libnvinfer.so.7: cannot open shared object file”警告。
accelerate launch main.py --load_json_path "/home/user/trainingconfig.json"
之后会自动开始训练。训练好的模型位于训练设置档所写的output_dir目录。将.safetensors档移动至SD WebUI根目录下的/models/Lora。
LoRA模型使用方式
在SD WebUI右上角点击“Show extra networks”。
点击要使用的LoRA,将其加入到提示词字段中。
再加上训练时使用的提示词,即可生成使用LoRA风格的人物。
结语
LoRA是一种用于微调大型模型的技术,通过LoRA Easy Training Scripts可以快速进行训练,并在SD WebUI中使用LoRA生成风格化人物。希望本文对您有所帮助。
最新推荐
-
excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列
excel怎么把一列数据拆分成几列?在使用excel表格软件的过程中,用户可以通过使用excel强大的功能 […]
-
win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值
win7已达到计算机的连接数最大值怎么办?很多还在使用win7系统的用户都遇到过在打开计算机进行连接的时候 […]
-
window10插网线为什么识别不了 win10网线插着却显示无法识别网络
window10插网线为什么识别不了?很多用户在使用win10的过程中,都遇到过明明自己网线插着,但是网络 […]
-
win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认
win11每次打开软件都弹出是否允许怎么办?在win11系统中,微软提高了安全性,在默认的功能中,每次用户 […]
-
win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告
win11打开文件安全警告怎么去掉?很多刚开始使用win11系统的用户发现,在安装后下载文件,都会弹出警告 […]
-
nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10
nvidia控制面板拒绝访问怎么办?在使用独显的过程中,用户可以通过显卡的的程序来进行图形的调整,比如英伟 […]
热门文章
excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列
2win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值
3window10插网线为什么识别不了 win10网线插着却显示无法识别网络
4win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认
5win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告
6nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10
7win11c盘拒绝访问怎么恢复权限 win11双击C盘提示拒绝访问
8罗技驱动设置开机启动教程分享
9win7设置电脑还原点怎么设置 win7设置系统还原点
10win10硬盘拒绝访问怎么解决 win10磁盘拒绝访问
随机推荐
专题工具排名 更多+

闽公网安备 35052402000376号