Sign In

Furukawa Nagisa (CLANNAD) | 古河渚(CLANNAD)

145
712
12.0k
2
Verified:
SafeTensor
Type
LoRA
Stats
712
11,989
Reviews
Published
Jun 5, 2023
Base Model
SD 1.5
Training
Steps: 5,950
Epochs: 17
Trigger Words
furukawa_nagisa_clannad
autumn_school_uniform
summer_school_uniform
doll_dango
Hash
AutoV2
C1557E2887
default creator card background decoration
Alice_Jie's Avatar
Alice_Jie

「もし、よろしければ… あなたを… あなたを、お連れしましょうか この町の願いが叶う場所に」

前言:

这是一个为 LoRA 模型训练教程 而演示的 LoRA,训练项目可在教程中获取。

因为这是我第一次编写模型训练相关的教程,所以有错的地方还望指出和建议。

2023.06.05:

  • 使用金字塔噪声,增加图像质量。

  • Applying "Diffusion With Offset Noise" to enhance image quality.

  • 添加秋季校服和夏季校服,代价是校服出现一定的融合现象,以及对相似服装造成不同程度的污染。

  • Add autumn and summer school uniforms, with the cost of some blending effects on the uniforms, and varying degrees of contamination on similar outfits.

  • 如果想要人物穿着秋季校服,尝试添加yellow jacketblue skirt等额外标签进行引导。

  • If you want characters wearing autumn school uniforms, try adding additional tags such as yellow jacket and blue skirt for guidance.

  • 如果想要人物穿着夏季校服,尝试添加white serafukususpender skirt等额外标签进行引导。

  • If you want characters wearing summer school uniforms, try adding additional tags such as white serafuku and suspender skirt for guidance.

Training Set:

  • number of repeats = 2

    • autumn_school_uniform = 60

    • summer_school_uniform = 60

    • other_clothes = 20

    • chibi = 5

    • doll_hug = 5

    • nsfw = 5

  • number of repeats = 4

    • doll_dango = 10

  • number of images = 165

  • number of epochs = 17

#!/bin/bash
# LoRA train script by @Akegarasu
​
# Train data path | 设置训练用模型、图片
pretrained_model="./sd-models/model.ckpt" # base model path | 底模路径
is_v2_model=0                             # SD2.0 model | SD2.0模型 2.0模型下 clip_skip 默认无效
parameterization=0                        # parameterization | 参数化 本参数需要和 V2 参数同步使用 实验性功能
train_data_dir="./train/furukawa-nagisa"  # train dataset path | 训练数据集路径
reg_data_dir=""                           # directory for regularization images | 正则化数据集路径,默认不使用正则化图像。
​
# Network settings | 网络设置
network_module="networks.lora" # 在这里将会设置训练的网络种类,默认为 networks.lora 也就是 LoRA 训练。如果你想训练 LyCORIS(LoCon、LoHa) 等,则修改这个值为 lycoris.kohya
network_weights=""             # pretrained weights for LoRA network | 若需要从已有的 LoRA 模型上继续训练,请填写 LoRA 模型路径。
network_dim=32                 # network dim | 常用 4~128,不是越大越好
network_alpha=16               # network alpha | 常用与 network_dim 相同的值或者采用较小的值,如 network_dim的一半 防止下溢。默认值为 1,使用较小的 alpha 需要提升学习率。
​
# Train related params | 训练相关参数
resolution="768,768"  # image resolution w,h. 图片分辨率,宽,高。支持非正方形,但必须是 64 倍数。
batch_size=2          # batch size
max_train_epoches=20  # max train epoches | 最大训练 epoch
save_every_n_epochs=1 # save every n epochs | 每 N 个 epoch 保存一次
​
train_unet_only=0            # train U-Net only | 仅训练 U-Net,开启这个会牺牲效果大幅减少显存使用。6G显存可以开启
train_text_encoder_only=0    # train Text Encoder only | 仅训练 文本编码器
stop_text_encoder_training=0 # stop text encoder training | 在第N步时停止训练文本编码器
​
# 噪音
noise_offset="0" # noise offset | 在训练中添加噪声偏移来改良生成非常暗或者非常亮的图像,如果启用,推荐参数为0.1
keep_tokens=2    # keep heading N tokens when shuffling caption tokens | 在随机打乱 tokens 时,保留前 N 个不变。
min_snr_gamma=0  # minimum signal-to-noise ratio (SNR) value for gamma-ray | 伽马射线事件的最小信噪比(SNR)值  默认为 0
​
multires_noise_iterations=6 # 多分辨率(金字塔)噪声迭代次数 推荐 6-10。无法与 noise_offset 一同启用。
multires_noise_discount=0.3 # 多分辨率(金字塔)衰减率 推荐 0.3,须同时与上方参数 multires_noise_iterations 一同启用。
​
# Learning rate | 学习率
lr="3.5e-5"            # 3.5e-5=3.5*10^(-5)=0.000035
unet_lr="3.5e-5"       # 3.5e-5=3.5*10^(-5)=0.000035
text_encoder_lr="3e-6" #   3e-6=3.0*10^(-6)=0.000003
lr_scheduler="cosine_with_restarts" # "linear", "cosine", "cosine_with_restarts", "polynomial", "constant", "constant_with_warmup", "adafactor"
lr_warmup_steps=0                   # warmup steps | 学习率预热步数,lr_scheduler 为 constant 或 adafactor 时该值需要设为0。
lr_restart_cycles=1                 # cosine_with_restarts restart cycles | 余弦退火重启次数,仅在 lr_scheduler 为 cosine_with_restarts 时起效。
​
# Output settings | 输出设置
output_name="furukawa-nagisa" # output model name | 模型保存名称
save_model_as="safetensors"   # model save ext | 模型保存格式 ckpt, pt, safetensors
​
# Resume training state | 恢复训练设置
save_state=0 # save state | 保存训练状态 名称类似于 <output_name>-??????-state ?????? 表示 epoch 数
resume=""    # resume from state | 从某个状态文件夹中恢复训练 需配合上方参数同时使用 由于规范文件限制 epoch 数和全局步数不会保存 即使恢复时它们也从 1 开始 与 network_weights 的具体实现操作并不一致
​
# 其他设置
min_bucket_reso=256              # arb min resolution | arb 最小分辨率
max_bucket_reso=1024             # arb max resolution | arb 最大分辨率
persistent_data_loader_workers=0 # persistent dataloader workers | 容易爆内存,保留加载训练集的worker,减少每个 epoch 之间的停顿
clip_skip=2                      # clip skip | 玄学 一般用 2
​
# 优化器设置
optimizer_type="Lion" # Optimizer type | 优化器类型 默认为 AdamW8bit,可选:AdamW AdamW8bit Lion SGDNesterov SGDNesterov8bit DAdaptation AdaFactor
​
# LyCORIS 训练设置
algo="lora"  # LyCORIS network algo | LyCORIS 网络算法 可选 lora、loha、lokr、ia3、dylora。lora即为locon
conv_dim=4   # conv dim | 类似于 network_dim,推荐为 4
conv_alpha=4 # conv alpha | 类似于 network_alpha,可以采用与 conv_dim 一致或者更小的值
dropout="0"  # dropout | dropout 概率, 0 为不使用 dropout, 越大则 dropout 越多,推荐 0~0.5, LoHa/LoKr/(IA)^3暂时不支持