Diffusers documentation
Vindo do DiffusionPipeline
Comece agora
Inferência
Usando pipelines de difusão
Adaptadores e personalização
Otimizar e escalar
Desempenho básico
Velocidade e memória
Inferência distribuída
Quantização
Aceleração específica de hardware
Métodos da comunidade
Diffusers modulares
Visão geralInício rápidoVindo do DiffusionPipelineEstadosModularPipelineBlocksSequentialPipelineBlocksLoopSequentialPipelineBlocksAutoPipelineBlocksModularPipelineGuiasComponentsManagerModelos de docstring e parâmetros automáticosCriando Blocos PersonalizadosUsando Blocos Personalizados com Mellon
Treinar e ajustar finamente
Recursos
Contribuir
API
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).
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.jsondo 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 comnames, ou o conjunto que um workflow precisa comworkflow. 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 ummodel_index.json, desde que o modelo tenha um pipeline modular. O inverso não é verdadeiro: DiffusionPipeline e as classesAutoPipelinenão funcionam com um repositório que possui apenas ummodular_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 argumentooutput,output="images"ououtput=["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 deguidance_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.blocksretorna 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.