From ca1ada5662bb5efe56d2a095cfe244cb9b6cd587 Mon Sep 17 00:00:00 2001 From: Max Lund Date: Sat, 14 Jan 2023 21:04:35 +0100 Subject: [PATCH] Add config for SD 1.5 --- configs/v1-inference.yaml | 70 ++++++++++++++++++++++++++++++++++++++ stable_diffusion_holder.py | 4 ++- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 configs/v1-inference.yaml diff --git a/configs/v1-inference.yaml b/configs/v1-inference.yaml new file mode 100644 index 0000000..d4effe5 --- /dev/null +++ b/configs/v1-inference.yaml @@ -0,0 +1,70 @@ +model: + base_learning_rate: 1.0e-04 + target: ldm.models.diffusion.ddpm.LatentDiffusion + params: + linear_start: 0.00085 + linear_end: 0.0120 + num_timesteps_cond: 1 + log_every_t: 200 + timesteps: 1000 + first_stage_key: "jpg" + cond_stage_key: "txt" + image_size: 64 + channels: 4 + cond_stage_trainable: false # Note: different from the one we trained before + conditioning_key: crossattn + monitor: val/loss_simple_ema + scale_factor: 0.18215 + use_ema: False + + scheduler_config: # 10000 warmup steps + target: ldm.lr_scheduler.LambdaLinearScheduler + params: + warm_up_steps: [ 10000 ] + cycle_lengths: [ 10000000000000 ] # incredibly large number to prevent corner cases + f_start: [ 1.e-6 ] + f_max: [ 1. ] + f_min: [ 1. ] + + unet_config: + target: ldm.modules.diffusionmodules.openaimodel.UNetModel + params: + image_size: 32 # unused + in_channels: 4 + out_channels: 4 + model_channels: 320 + attention_resolutions: [ 4, 2, 1 ] + num_res_blocks: 2 + channel_mult: [ 1, 2, 4, 4 ] + num_heads: 8 + use_spatial_transformer: True + transformer_depth: 1 + context_dim: 768 + use_checkpoint: True + legacy: False + + first_stage_config: + target: ldm.models.autoencoder.AutoencoderKL + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: + - 1 + - 2 + - 4 + - 4 + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity + + cond_stage_config: + target: ldm.modules.encoders.modules.FrozenCLIPEmbedder diff --git a/stable_diffusion_holder.py b/stable_diffusion_holder.py index e7495b0..f6f5da9 100644 --- a/stable_diffusion_holder.py +++ b/stable_diffusion_holder.py @@ -177,7 +177,9 @@ class StableDiffusionHolder: elif '512' in fn_ckpt: fp_config = 'configs/v2-inference.yaml' elif '768'in fn_ckpt: - fp_config = 'configs/v2-inference-v.yaml' + fp_config = 'configs/v2-inference-v.yaml' + elif 'v1-5' in fn_ckpt: + fp_config = 'configs/v1-inference.yaml' else: raise ValueError("auto detect of config failed. please specify fp_config manually!")