| | |
| |
|
| | |
| | pretrained_model="./sd-models/model.ckpt" |
| | train_data_dir="./train/Pisces" |
| | reg_data_dir="" |
| |
|
| | |
| | resolution="1024,1024" |
| | batch_size=3 |
| | max_train_epoches=15 |
| | save_every_n_epochs=1 |
| | network_dim=128 |
| | network_alpha=64 |
| | clip_skip=2 |
| | train_unet_only=0 |
| | train_text_encoder_only=0 |
| | keep_tokens=1 |
| |
|
| | |
| | lr="1e-4" |
| | unet_lr="3.5e-4" |
| | text_encoder_lr="1.5e-5" |
| | lr_scheduler="cosine_with_restarts" |
| | lr_warmup_steps=0 |
| | lr_restart_cycles=2 |
| |
|
| | |
| | output_name="Pisces" |
| | save_model_as="safetensors" |
| |
|
| | |
| | network_weights="" |
| | min_bucket_reso=256 |
| | max_bucket_reso=1536 |
| | persistent_data_loader_workers=0 |
| | noise_offset=0 |
| |
|
| | |
| | use_8bit_adam=1 |
| | use_lion=0 |
| |
|
| | |
| | enable_locon_train=1 |
| | conv_dim=8 |
| | conv_alpha=8 |
| |
|
| | |
| | export HF_HOME="huggingface" |
| | export TF_CPP_MIN_LOG_LEVEL=3 |
| |
|
| | network_module="networks.lora" |
| | extArgs=() |
| |
|
| | if [ $train_unet_only == 1 ]; then extArgs+=("--network_train_unet_only"); fi |
| |
|
| | if [ $train_text_encoder_only == 1 ]; then extArgs+=("--network_train_text_encoder_only"); fi |
| |
|
| | if [ $network_weights ]; then extArgs+=("--network_weights $network_weights"); fi |
| |
|
| | if [ $reg_data_dir ]; then extArgs+=("--reg_data_dir $reg_data_dir"); fi |
| |
|
| | if [ $use_8bit_adam == 1 ]; then extArgs+=("--use_8bit_adam"); fi |
| |
|
| | if [ $use_lion == 1 ]; then extArgs+=("--use_lion_optimizer"); fi |
| |
|
| | if [ $persistent_data_loader_workers == 1 ]; then extArgs+=("--persistent_data_loader_workers"); fi |
| |
|
| | if [ $enable_locon_train == 1 ]; then |
| | network_module="locon.locon_kohya" |
| | extArgs+=("--network_args conv_dim=$conv_dim conv_alpha=$conv_alpha") |
| | fi |
| |
|
| | if [ $noise_offset ]; then extArgs+=("--noise_offset $noise_offset"); fi |
| |
|
| | accelerate launch --num_cpu_threads_per_process=8 "./sd-scripts/train_network.py" \ |
| | --enable_bucket \ |
| | --keep_tokens $keep_tokens \ |
| | --pretrained_model_name_or_path=$pretrained_model \ |
| | --train_data_dir=$train_data_dir \ |
| | --output_dir="./output" \ |
| | --logging_dir="./logs" \ |
| | --resolution=$resolution \ |
| | --network_module=$network_module \ |
| | --max_train_epochs=$max_train_epoches \ |
| | --learning_rate=$lr \ |
| | --unet_lr=$unet_lr \ |
| | --text_encoder_lr=$text_encoder_lr \ |
| | --lr_scheduler=$lr_scheduler \ |
| | --lr_warmup_steps=$lr_warmup_steps \ |
| | --lr_scheduler_num_cycles=$lr_restart_cycles \ |
| | --network_dim=$network_dim \ |
| | --network_alpha=$network_alpha \ |
| | --output_name=$output_name \ |
| | --train_batch_size=$batch_size \ |
| | --save_every_n_epochs=$save_every_n_epochs \ |
| | --mixed_precision="fp16" \ |
| | --save_precision="fp16" \ |
| | --seed="1337" \ |
| | --cache_latents \ |
| | --clip_skip=$clip_skip \ |
| | --prior_loss_weight=1 \ |
| | --max_token_length=225 \ |
| | --caption_extension=".txt" \ |
| | --save_model_as=$save_model_as \ |
| | --min_bucket_reso=$min_bucket_reso \ |
| | --max_bucket_reso=$max_bucket_reso \ |
| | --xformers --shuffle_caption ${extArgs[@]} |
| |
|