Hub documentation
Usando 🧨 diffusers no Hugging Face
Usando 🧨 diffusers no Hugging Face
Diffusers é a biblioteca de referência para modelos de difusão pré-treinados de última geração para gerar imagens, áudio e até estruturas 3D de moléculas. Se você procura uma solução simples de inferência ou deseja treinar seu próprio modelo de difusão, o Diffusers é uma caixa de ferramentas modular que suporta ambos. A biblioteca é projetada com foco em usabilidade em vez de desempenho, simplicidade em vez de facilidade e personalizabilidade em vez de abstrações.
Explorando o Diffusers no Hub
Há mais de 10.000 pipelines compatíveis com diffusers no Hub, que você pode encontrar filtrando à esquerda de a página de modelos. Os sistemas de difusão são tipicamente compostos por múltiplos componentes, como text encoder, UNet, VAE e scheduler. Embora não sejam modelos independentes, a abstração de pipeline facilita o uso deles para inferência ou treinamento.
Você pode encontrar pipelines de difusão para muitas tarefas diferentes:
- Gerar imagens a partir de prompts de texto em linguagem natural (text-to-image).
- Transformar imagens usando prompts de texto em linguagem natural (image-to-image).
- Gerar vídeos a partir de descrições em linguagem natural (text-to-video).
Você pode testar os modelos diretamente no navegador, caso queira experimentá-los sem baixá-los, graças aos widgets no navegador!

Arquivos do repositório Diffusers
Um repositório de modelo do Diffusers contém todos os subcomponentes de modelo necessários, como o autoencoder variacional para codificar imagens e decodificar latentes, o codificador de texto, o modelo transformer e outros. Esses subcomponentes são organizados em um layout de múltiplas pastas.

Cada subpasta contém os pesos e a configuração - quando aplicável - de cada componente, de forma semelhante a um modelo do Transformers.
Os pesos geralmente são armazenados como arquivos safetensors e a configuração geralmente é um arquivo json com informações sobre a arquitetura do modelo.
Usando pipelines existentes
Todos os pipelines do diffusers estão a uma linha de distância de serem usados! Para executar a geração, recomendamos começar sempre do DiffusionPipeline:
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")Se você deseja carregar um componente específico do pipeline, como o UNet, você pode fazer isso da seguinte forma:
from diffusers import UNet2DConditionModel
unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet")Compartilhando seus pipelines e modelos
Todas as classes de pipeline, classes de modelo e classes de scheduler são totalmente compatíveis com o Hub. Mais especificamente, elas podem ser carregadas facilmente do Hub usando o método from_pretrained() e compartilhadas com outras pessoas usando o método push_to_hub().
Para mais detalhes, consulte a documentação.