AIGC LoRA 训练小实验

今年的 AIGC 特别火,特别是 stable diffusion 相关的开源工具生态,把入门门槛降得很低,这里记录下最近第一次尝试的 LoRA 训练:

首先看下最终的效果:

LoRA 模型已经上传 C站:https://civitai.com/models/60018/realskin (Base Model 用的 ChilloutMix)

LoRA 特点

其实本身 ChilloutMix 在人物生成方面已经很好用了,但总感觉有一种失真感,特别是皮肤太过光滑完美(也可能是Prompt的问题?),所以希望训练个加噪点的 LoRA,使皮肤能更真实一点,所以给这个 LoRA 模型起名 “real_skin”,可以对比下图左右不加LoRA和加LoRA的区别:

训练过程

训练的工具主要是 stable-diffusion-webuikohya_ss 这两个开源库,使用比较简单,傻瓜式操作,机器用的腾讯云的 GN7,跑 LoRA 足够了

训练数据的准备用了个比较取巧的办法:先用 ChilloutMix 生成一些人脸图像,然后用 Photoshop 加噪点,再进行训练,省的去找图了,本来也只是训练个类似“滤镜”的效果

Photoshop 的处理,除了加噪点,另外把人脸部分抠了下图,避免噪点影响到其他区域了

最终的训练数据就是如下一些图(已经上传C站

分辨率用的 512×512,训练参数如下:

{
  "pretrained_model_name_or_path": "/home/ubuntu/stable-diffusion-webui/models/Stable-diffusion/chilloutmix_NiPrunedFp32Fix.safetensors",
  "v2": false,
  "v_parameterization": false,
  "logging_dir": "/home/ubuntu/train/train_lora/log",
  "train_data_dir": "/home/ubuntu/train/train_lora/image",
  "reg_data_dir": "",
  "output_dir": "/home/ubuntu/train/train_lora/model",
  "max_resolution": "512,512",
  "learning_rate": "0.0001",
  "lr_scheduler": "cosine",
  "lr_warmup": "10",
  "train_batch_size": 2,
  "epoch": 2,
  "save_every_n_epochs": 1,
  "mixed_precision": "fp16",
  "save_precision": "fp16",
  "seed": "",
  "num_cpu_threads_per_process": 2,
  "cache_latents": true,
  "caption_extension": "",
  "enable_bucket": true,
  "gradient_checkpointing": false,
  "full_fp16": false,
  "no_token_padding": false,
  "stop_text_encoder_training": 0,
  "xformers": true,
  "save_model_as": "safetensors",
  "shuffle_caption": false,
  "save_state": false,
  "resume": "",
  "prior_loss_weight": 1.0,
  "text_encoder_lr": "5e-5",
  "unet_lr": "0.0001",
  "network_dim": 8,
  "lora_network_weights": "",
  "color_aug": false,
  "flip_aug": false,
  "clip_skip": "1",
  "gradient_accumulation_steps": 1.0,
  "mem_eff_attn": false,
  "output_name": "real_skin",
  "model_list": "custom",
  "max_token_length": "75",
  "max_train_epochs": "",
  "max_data_loader_n_workers": "0",
  "network_alpha": 1,
  "training_comment": "",
  "keep_tokens": "0",
  "lr_scheduler_num_cycles": "",
  "lr_scheduler_power": ""
}

最终训练生成的 LoRA 模型约 9MB,上传 C 站,收工!

C站地址:https://civitai.com/models/60018/realskin