Diffusers documentation

Vindo do DiffusionPipeline

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Vindo do DiffusionPipeline

Se você está familiarizado com DiffusionPipeline e está trabalhando com um ModularPipeline pela primeira vez, algumas coisas funcionam de maneira diferente. Elas estão listadas aqui para que você as tenha em mente antes de seguir o quickstart.

  • O carregamento é preguiçoso e flexível. from_pretrained() monta o pipeline a partir do modular_model_index.json do repositório sem carregar nenhum peso. load_components() então os carrega, e não precisa ser tudo de uma vez: por padrão, carrega tudo, mas você pode carregar apenas os componentes que nomear com names, ou o conjunto que um workflow precisa com workflow. update_components() permite reutilizar um componente que você já possui, ou um que difere da especificação do repositório. Veja Carregando componentes e Atualizando componentes.
  • ModularPipeline lê um índice diferente, modular_model_index.json, mas também funciona com um repositório que possui apenas um model_index.json, desde que o modelo tenha um pipeline modular. O inverso não é verdadeiro: DiffusionPipeline e as classes AutoPipeline não funcionam com um repositório que possui apenas um modular_model_index.json.
  • Uma chamada retorna o estado do pipeline, que também armazena os valores intermediários (prompt_embeds, latents, …). Solicite o que você precisa com o argumento output, output="images" ou output=["images", "latents"], ou leia um atributo do estado, como no quickstart. Veja States.
  • O Classifier-free guidance é suportado no componente guider, e não como argumento de chamada de guidance_scale: pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0)). Consulte o guia de guiders.
  • Não existe callback_on_step_end; no entanto, você pode inserir um bloco no loop de desruidamento para usar suas funções de callback existentes. Consulte Pipelines modulares no guia de callbacks.
  • O pipeline é um grafo de blocos que você pode modificar (remover, inserir, substituir) antes de construí-lo com init_pipeline(); pipe.blocks retorna uma cópia, então edite os blocos primeiro. Consulte Compor novos fluxos de trabalho.
  • O offloading é tratado por um ComponentsManager, que pode atender a vários pipelines que compartilham componentes. Consulte o guia do ComponentsManager.
Update on GitHub