Biblioteca PyTorch de modelos de difusão pré-treinados, schedulers de ruído e componentes para geração de imagens, vídeos e áudio.
lucidrains/denoising-diffusion-pytorch
Implementação em PyTorch de modelos probabilísticos de difusão para treinar modelos generativos de imagens e sequências 1D.
- Estrelas
- 10,710
- Forks
- 1,283
- Issues abertas
- 169
- Último commit
- há 23 dias
O que é?
Este projeto é uma implementação em PyTorch de modelos probabilísticos de difusão, uma abordagem de modelagem generativa que aprende a reverter um processo gradual de adição de ruído. Ele oferece uma arquitetura U-Net e uma classe GaussianDiffusion, que gerencia a adição de ruído no processo direto, a função de perda do treinamento e a geração de amostras com o modelo treinado.
Além do pipeline principal para imagens, o projeto inclui uma classe Trainer que recebe uma pasta de imagens e cuida do carregamento dos dados, dos loops de treinamento, do registro periódico de amostras, dos checkpoints e do cálculo opcional de FID. Também oferece suporte ao Hugging Face Accelerate para treinamento em várias GPUs, precisão mista via amp e geração de amostras mais rápida no estilo DDIM, com menos passos de tempo. Inclui ainda uma U-Net 1D e uma variante de difusão 1D para dados sequenciais, além de um XMWrapper que calcula a função de perda com múltiplos candidatos.
A biblioteca pode ser instalada pelo PyPI e é voltada a pesquisadores e desenvolvedores que procuram uma implementação de referência legível e fácil de modificar para experimentar com modelos de difusão.
Recursos principais
- 01Implementa o objetivo de treinamento e o procedimento de geração de amostras do DDPM em PyTorch.
- 02Oferece uma arquitetura U-Net configurável com opção de flash attention.
- 03A classe Trainer gerencia conjuntos de dados de imagens organizados em pastas, checkpoints e registro de amostras.
- 04Oferece suporte a treinamento em várias GPUs com Hugging Face Accelerate e a precisão mista.
- 05Inclui geração de amostras no estilo DDIM com menos etapas e avaliação de FID durante o treinamento.
- 06Oferece uma U-Net 1D e uma variante de difusão para dados sequenciais.
Casos de uso
- Treinar um pequeno gerador de imagens com uma pasta personalizada de imagens.
- Estudar ou modificar o código central de treinamento e geração de amostras por difusão.
- Prototipar modelos de difusão para dados de sequências unidimensionais.
- Executar experimentos de treinamento de difusão em várias GPUs com Accelerate.
Início rápido
- 1
Instale o pacote pelo PyPI
pip install denoising_diffusion_pytorch - 2
Crie um modelo e um objeto de difusão e, em seguida, treine com uma pasta de imagens usando a classe Trainer
- 3
Inicie o treinamento
trainer.train()
Antes de usar
- Treinar com imagens de tamanhos realistas requer uma GPU e bastante tempo (o exemplo usa 700000 etapas).
Tópicos
Perguntas frequentes
- O que é denoising-diffusion-pytorch?
- Implementação em PyTorch de modelos probabilísticos de difusão para treinar modelos generativos de imagens e sequências 1D. Este projeto é uma implementação em PyTorch de modelos probabilísticos de difusão, uma abordagem de modelagem generativa que aprende a reverter um processo gradual de adição de ruído. Ele oferece uma arquitetura U-Net e uma classe GaussianDiffusion, que gerencia a adição de ruído no processo direto, a função de perda do treinamento e a geração de amostras com o modelo treinado.
- denoising-diffusion-pytorch é gratuito? Qual é a licença?
- denoising-diffusion-pytorch é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- denoising-diffusion-pytorch ainda é mantido?
- Manutenção ativa. O último commit de denoising-diffusion-pytorch foi em 29 de set. de 2026.
- Para que posso usar denoising-diffusion-pytorch?
- Treinar um pequeno gerador de imagens com uma pasta personalizada de imagens. Estudar ou modificar o código central de treinamento e geração de amostras por difusão. Prototipar modelos de difusão para dados de sequências unidimensionais. Executar experimentos de treinamento de difusão em várias GPUs com Accelerate.
- Como instalar denoising-diffusion-pytorch?
- Instale o pacote pelo PyPI: pip install denoising_diffusion_pytorch Crie um modelo e um objeto de difusão e, em seguida, treine com uma pasta de imagens usando a classe Trainer Inicie o treinamento: trainer.train()
- Onde consigo denoising-diffusion-pytorch?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lucidrains/denoising-diffusion-pytorch
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
GUI em grafo de nós, API e backend para executar modelos de difusão localmente e gerar imagens, vídeos, áudio e conteúdo 3D.
Um mecanismo open source de modelos Diffusion para gerar imagens, vídeos e áudio, com suporte a inferência e treinamento com pouca VRAM.
Modelo open source de difusão texto para imagem com 5 bilhões de parâmetros, focado em renderização precisa de texto, controle de layout em JSON e fine-tuning.
Implementação em PyTorch do Vision Transformer (ViT) e de muitas variantes para classificação de imagens e outras tarefas de visão computacional.
Framework de inferência de redes neurais de alto desempenho em C++ para executar modelos de deep learning em dispositivos móveis, embarcados e desktop.