Skip to content

IDDM (Industrial, landscape, animate, spectrogram...), support DDPM, DDIM, PLMS, webui and distributed training. Pytorch实现扩散模型,生成模型,分布式训练

License

Notifications You must be signed in to change notification settings

chairc/Integrated-Design-Diffusion-Model

Repository files navigation

IDDM: Integrated Design Diffusion Model

中文文档

About the Model

This diffusion model is based on the classic DDPM (Denoising Diffusion Probabilistic Models), DDIM (Denoising Diffusion Implicit Models) and PLMS (Pseudo Numerical Methods for Diffusion Models on Manifolds) presented in the papers "Denoising Diffusion Probabilistic Models", "Denoising Diffusion Implicit Models" and "Pseudo Numerical Methods for Diffusion Models on Manifolds".

We named this project IDDM: Integrated Design Diffusion Model. It aims to reproduce the model, write trainers and generators, and improve and optimize certain algorithms and network structures. This repository is actively maintained.

If you have any questions, please check the existing issues first. If the issue persists, feel free to open a new one for assistance, or you can contact me via email at [email protected] or [email protected]. If you think my project is interesting, please give me a ⭐⭐⭐Star⭐⭐⭐ :)

Running Locally

Use the git clone or directly download the zip file of this repository's code, and then configure the environment locally to run it.

git clone https://github.com/chairc/Integrated-Design-Diffusion-Model.git
cd Integrated-Design-Diffusion-Model

Installation

In addition to running locally, there are also the following two approachs for installing this code.

Approach 1: Use pip install (Recommend)

pip install iddm

The following packages are required.

coloredlogs==15.0.1
gradio==5.0.0
matplotlib==3.7.1
numpy==1.25.0
Pillow==10.3.0
Requests==2.32.0
scikit-image==0.22.0
torch_summary==1.4.5
tqdm==4.66.3
pytorch_fid==0.3.0
fastapi==0.115.6
tensorboardX==2.6.1

# If you want to download gpu version
# Please use: pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 -f https://download.pytorch.org/whl/torch_stable.html
# About more torch information please click: https://pytorch.org/get-started/previous-versions/#linux-and-windows-25
# More versions please click: https://pytorch.org/get-started/previous-versions
# [Note] torch versions must >= 1.9.0
torch>=1.9.0 # More info: https://pytorch.org/get-started/locally/ (recommended)
torchvision>=0.10.0 # More info: https://pytorch.org/get-started/locally/ (recommended)

Approach 2:Repository Installation

git clone https://github.com/chairc/Integrated-Design-Diffusion-Model.git
cd Integrated-Design-Diffusion-Model
python setup.py install

Next Steps

  • [2023-07-15] Adding implement multi-GPU distributed training.
  • [2023-07-31] Adding implement cosine learning rate optimization.
  • [2023-08-03] Adding DDIM Sampling Method.
  • [2023-08-28] Adding fast deployment and API on cloud servers.
  • [2023-09-16] Support other image generation.
  • [2023-11-09] Adding a more advanced U-Net network model.
  • [2023-11-09] Support generate larger-sized images.
  • [2023-12-06] Reconstruct the overall structure of the model.
  • [2024-01-23] Adding visual webui training interface.
  • [2024-02-18] Support low-resolution generated images for super-resolution enhancement.[Super resolution model, the effect is uncertain]
  • [2024-03-12] Adding PLMS Sampling Method.
  • [2024-05-06] Adding FID calculator to verify image quality.
  • [2024-06-11] Adding visual webui generate interface.
  • [2024-07-07] Support custom images length and width input.
  • [2024-11-13] Adding the deployment of image-generating Sockets and Web server.
  • [2024-11-26] Adding PSNR and SSIM calculators to verify super resolution image quality.
  • [2024-12-10] Adding pretrain model download.
  • [2024-12-25] Reconstruct the overall structure of the trainer.
  • [2025-03-08] Support PyPI install.
  • [Maybe 2025-01-31] Adding the deployment of Docker and image.
  • [To be determined] Reconstruct the project by Baidu PaddlePaddle.
  • [To be determined] Use Latent Diffusion and reduce GPU memory usage

Guide

Please read the guide carefully before developing or using.

Guide Name Document
Model Training Training.md
Model Generation Generation.md
Model Results Results.md
Model Evaluation Evaluation.md

Citation

If this project is used for experiments in an academic paper, where possible please cite our project appropriately and we appreciate this. The specific citation format can be found at this website.

@software{chen_2024_10866128,
  author       = {Chen Yu},
  title        = {IDDM: Integrated Design Diffusion Model},
  month        = mar,
  year         = 2024,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.10866128},
  url          = {https://doi.org/10.5281/zenodo.10866128}
}

Citation detail:

image-20241124174339833

Acknowledgements

@dome272 and @JetBrains

Sponsor

JetBrains logo

About

IDDM (Industrial, landscape, animate, spectrogram...), support DDPM, DDIM, PLMS, webui and distributed training. Pytorch实现扩散模型,生成模型,分布式训练

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages