model: base_learning_rate: 1.0e-6 target: ldm.models.diffusion.ddpm.LatentDiffusion params: linear_start: 0.00085 linear_end: 0.0120 num_timesteps_cond: 1 log_every_t: 300 timesteps: 1000 first_stage_key: image cond_stage_key: caption image_size: 64 channels: 4 cond_stage_trainable: true conditioning_key: crossattn monitor: val/loss_simple_ema scale_factor: 0.18215 use_ema: False unfreeze_model: True model_lr: 1.0e-6 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: 512 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 data: target: main.DataModuleFromConfig params: batch_size: 6 # prefer highest possible without getting CUDA Out of Memory error, A100 40GB =~20 80GB= ~48 num_workers: 8 wrap: falsegit train: target: ldm.data.every_dream.EveryDreamBatch params: repeats: 1 # suggest 1 for 10k+ images debug_level: 1 # 1 to print if images are dropped due to multiple-aspect ratio image batching conditional_dropout: 0.04 # experimental, likelihood to drop the caption, may help with poorly captioned images resolution: 512 # use 512 for 24GB, can use 576, 640, 704, 768, on higher VRAM cards only.. seed: -1 # use -1 for random seed, affects ordering of images and shuffling validation: target: ldm.data.ed_validate.EDValidateBatch params: repeats: 0.2 # suggest low fractions for 10k+ images test: target: ldm.data.ed_validate.EDValidateBatch params: repeats: 0.2 lightning: modelcheckpoint: params: every_n_epochs: 1 # produce a ckpt every epoch, leave 1! #every_n_train_steps: 1400 # can only use epoch or train step checkpoints save_top_k: 6 # save the best N ckpts according to loss, can reduce to save disk space but suggest at LEAST 2, more if you have max_epochs below higher! save_last: True filename: "{epoch:02d}-{step:05d}" callbacks: image_logger: target: main.ImageLogger params: batch_frequency: 500 max_images: 16 increase_log_steps: False trainer: benchmark: True max_epochs: 7 # better to run several epochs and test your checkpoints! Try 4-5, you get a checkpoint every epoch to test! max_steps: 99000 # better to end on epochs not steps, especially with >500 images to ensure even distribution, but you can set this if you really want... check_val_every_n_epoch: 1 gpus: 0,