Hub documentation

Usando 🧨 diffusers no Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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.

Recursos adicionais

Update on GitHub