--- license: mit datasets: - huggan/anime-faces pipeline_tag: unconditional-image-generation tags: - art --- # ddpm-anime-faces-64 **ddpm-anime-faces-64** is an educational project for introducing the training and sampling processes of DDPM and DDIM models. The model is trained on [huggan/anime-faces](https://huggingface.co/datasets/huggan/anime-faces) dataset. ## Training Arguments | Argument | Value | | :-------------------------: | :----: | | image_size | 64 | | train_batch_size | 16 | | eval_batch_size | 16 | | num_epochs | 50 | | gradient_accumulation_steps | 1 | | learning_rate | 1e-4 | | lr_warmup_steps | 500 | | mixed_precision | "fp16" | For training code, please refer to [this link](https://github.com/LittleNyima/code-snippets/blob/master/ddpm-tutorial/ddpm_training.py). ## Inference This project aims to implement DDPM from scratch, so `DDPMScheduler` is not used. Instead, I use only `UNet2DModel` and implement a simple scheduler myself. Please refer to `sampling_ddpm.py` and `sampling_ddim.py` for detailed usages. ## References 1. [DDPM Tutorial (Written in Chinese)](https://littlenyima.github.io/posts/13-denoising-diffusion-probabilistic-models/) 2. [DDIM Tutorial (Written in Chinese)](https://littlenyima.github.io/posts/14-denoising-diffusion-implicit-models/) 3. [GitHub Repo](https://github.com/LittleNyima/code-snippets)