NoobAI Notes

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 #

CivitAI

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"
)

By decreasing the batch size and/or the resolution to 768x or 512x you can fit into 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 RangePeriod Tag
2005-2010old
2011-2014early
2014-2017mid
2018-2020recent
2021-2024newest