NoobAI Notes
Introduction
NoobAI is based on the SDXL architecture specifically tailored for anime and furry image generation. Currently I’m using the v-prediction 0.65S
version of the model. This guide will focus mostly on that particular version. It was trained on Danbooru and e621.
Download
Training Tips
I’m currently on the sd3
branch so there is nothing special to passing:
--v_parameterization
--zero_terminal_snr
Fitting in 24Gb VRAM
I used the following settings to fit perfectly inside a 4090.
Click to expand content.
args=(
--debiased_estimation_loss
--max_token_length=225
--keep_tokens=1
--keep_tokens_separator="|||"
--pretrained_model_name_or_path=/home/kade/ComfyUI/models/checkpoints/noobaiXLVpredv06.safetensors
--v_parameterization
--zero_terminal_snr
--log_with=tensorboard
--seed=1728871242
--dataset_repeats=1
--resolution="1024,1024"
--enable_bucket
--bucket_reso_steps=64
--min_bucket_reso=256
--max_bucket_reso=2048
--flip_aug
--shuffle_caption
--cache_latents
--cache_latents_to_disk
--max_data_loader_n_workers=8
--persistent_data_loader_workers
--network_dim=100000
--network_alpha=64
--network_module="lycoris.kohya"
--network_args
"preset=full"
"conv_dim=100000"
"decompose_both=False"
"conv_alpha=64"
"rank_dropout=0"
"module_dropout=0"
"use_tucker=True"
"use_scalar=False"
"rank_dropout_scale=False"
"algo=lokr"
"bypass_mode=False"
"factor=16"
"dora_wd=True"
"train_norm=False"
--network_dropout=0
--optimizer_type=ClybW
--train_batch_size=14
--max_grad_norm=1
--gradient_checkpointing
--lr_warmup_steps=0
--learning_rate=0.0003
--unet_lr=0.0003
--text_encoder_lr=0.00015
--lr_scheduler="cosine"
--lr_scheduler_args="num_cycles=0.375"
--multires_noise_iterations=12
--multires_noise_discount=0.4
--no_half_vae
--sdpa
--mixed_precision="bf16"
--save_model_as="safetensors"
--save_precision="fp16"
--save_every_n_steps=100
--sample_every_n_steps=100
--sample_sampler="euler_a"
--sample_at_first
--caption_extension=".txt"
)
You can reduce the batch size and/or resolution to 768x or 512x to fit any GPU. If you still struggle, use an 8-bit optimizer. Here is the optimizer I prefer currently, there is a guide on how to integrate custom optimizers to sd-scripts here.
Prompting Tips
Date Tags
There are two types of date tags: year tags and period tags.
Year Tags
Use year xxxx format. Example: 2021
.
Period Tags
For period tags, please refer to the following table:
Year Range | Period Tag |
---|---|
2005-2010 | old |
2011-2014 | early |
2014-2017 | mid |
2018-2020 | recent |
2021-2024 | newest |