Diffusers documentation
Proveniente de DiffusionPipeline
Comenzar
Inferencia
Uso de pipelines de difusión
Adaptadores y personalización
Optimizar y escalar
Rendimiento básico
Velocidad y memoria
Inferencia distribuida
Cuantización
Aceleración específica del hardware
Métodos de la comunidad
Diffusers modulares
ResumenIntroducciónProveniente de DiffusionPipelineEstadosModularPipelineBlocksSequentialPipelineBlocksLoopSequentialPipelineBlocksAutoPipelineBlocksModularPipelineGuíasComponentsManagerPlantillas de docstring y parámetros automáticasCreación de bloques personalizadosUso de bloques personalizados con Mellon
Entrenar y ajustar
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.43.0).
Proveniente de DiffusionPipeline
Si estás familiarizado con DiffusionPipeline y trabajas por primera vez con un ModularPipeline, hay algunas cosas que funcionan de manera diferente. Se enumeran aquí para que las tengas en cuenta antes de pasar por el quickstart.
- La carga es perezosa y flexible. from_pretrained() construye el pipeline a partir del
modular_model_index.jsondel repositorio sin cargar ningún peso. load_components() los carga a continuación, y no tiene que ser todo de una vez: por defecto carga todo, pero puedes cargar solo los componentes que nombres connames, o el conjunto que necesita un flujo de trabajo conworkflow. update_components() te permite reutilizar un componente que ya tienes, o uno que difiere de la especificación del repositorio. Consulta Carga de componentes y Actualización de componentes. - ModularPipeline lee un índice diferente,
modular_model_index.json, pero también funciona con un repositorio que solo tiene unmodel_index.json, siempre que el modelo tenga un pipeline modular. Lo contrario no es cierto: DiffusionPipeline y las clasesAutoPipelineno funcionan con un repositorio que solo tiene unmodular_model_index.json. - Una llamada devuelve el estado del pipeline, que también contiene los valores intermedios (
prompt_embeds,latents, …). Solicita lo que necesites con el argumentooutput,output="images"ooutput=["images", "latents"], o lee un atributo del estado, como en el quickstart. Consulta States. - La guía sin clasificador se admite en el componente
guider, no como argumento de llamada deguidance_scale:pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0)). Consulte la guía de guiders. - No existe
callback_on_step_end; sin embargo, puedes insertar un bloque en el bucle de desruido para usar tus funciones de callback existentes. Consulta Pipelines modulares en la guía de callbacks. - El pipeline es un grafo de bloques que puedes modificar (eliminar, insertar, reemplazar) antes de construirlo con init_pipeline();
pipe.blocksdevuelve una copia, por lo que edita los bloques primero. Consulta Componer nuevos flujos de trabajo. - El offloading lo gestiona un ComponentsManager, que puede atender varios pipelines que comparten componentes. Consulte la guía de ComponentsManager.