Buckets:
Bloques de pipeline
ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks()
Clase base para todos los bloques de Pipeline: ConditionalPipelineBlocks, AutoPipelineBlocks, SequentialPipelineBlocks, LoopSequentialPipelineBlocks
ModularPipelineBlocks proporciona un método para cargar y guardar la definición de los bloques de pipeline.
get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]]
get_block_state(state: PipelineState)
Obtenga todas las entradas y los intermediarios en un solo diccionario
get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Parámetros:
- **kwargs : Nombres y valores de entrada. Solo las entradas de activación afectan la selección de bloques.
Obtén el o los bloques que se ejecutarían dados los inputs. Debe ser implementado por las subclases que admiten la selección condicional de bloques.
get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]]
get_workflow(workflow_name: str)
Parámetros:
workflow_name : Nombre del flujo de trabajo a recuperar.
Obtén los bloques de ejecución para un flujo de trabajo específico. Debe ser implementado por las subclases que definen _workflow_map.
init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]]
init_pipeline(pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None)
crear un ModularPipeline, aceptar opcionalmente pretrained_model_name_or_path para cargar desde el hub.
SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks()
Parámetros:
block_classes : lista de clases de bloques a utilizar
block_names : lista de prefijos para cada bloque
Un bloque de Pipeline que combina múltiples clases de bloques de pipeline en uno. Al ser llamado, ejecutará cada bloque en secuencia.
Esta clase hereda de ModularPipelineBlocks. Consulte la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los bloques de pipeline (como la carga o el guardado, etc.).
from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any], description: str | None = None)
Parámetros:
blocks_dict : Diccionario que mapea nombres de bloques a clases o instancias de bloques
Devuelve:
Una nueva instancia de SequentialPipelineBlocks
Crea una instancia de SequentialPipelineBlocks a partir de un diccionario de bloques.
get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Parámetros:
- **kwargs : Nombres y valores de entrada. Solo las entradas de activación afectan la selección de bloques.
Devuelve:
Un SequentialPipelineBlocks que contiene solo los bloques que se ejecutarían
Obtén los bloques que se ejecutarían con las entradas especificadas.
A medida que la recorrida avanza por los bloques secuenciales, las salidas intermedias de los bloques resueltos se añaden a las entradas activas. Esto significa que los bloques condicionales que dependen de intermedios (p. ej., "ejecutar img2img si image_latents está presente") se resolverán correctamente, siempre que la condición se base en la presencia o ausencia (None o no None), y no en el valor real.
LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks()
Parámetros:
block_classes : lista de clases de bloques a utilizar
block_names : lista de prefijos para cada bloque
Un bloque Pipeline que combina múltiples clases de bloques de pipeline en un bucle For. Al invocarlo, llamará a cada bloque en secuencia.
Esta clase hereda de ModularPipelineBlocks. Consulte la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los bloques de pipeline (como la carga o el guardado, etc.).
from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any])
Parámetros:
blocks_dict : Diccionario que mapea nombres de bloques a instancias de bloques
Devuelve:
Una nueva instancia de LoopSequentialPipelineBlocks
Crea una instancia de LoopSequentialPipelineBlocks a partir de un diccionario de bloques.
AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks()
Parámetros:
block_classes : Lista de clases de bloques a utilizar. Debe tener la misma longitud que block_names y block_trigger_inputs.
block_names : Lista de nombres para cada bloque. Debe tener la misma longitud que block_classes y block_trigger_inputs.
block_trigger_inputs : Lista de nombres de entrada donde cada elemento especifica la entrada de activación para el bloque correspondiente. Use None para marcar el bloque predeterminado.
Un bloque Pipeline que selecciona automáticamente un bloque para ejecutarlo en función de la presencia de entradas de activación.
Esta es una versión especializada de ConditionalPipelineBlocks donde:
- Cada bloque tiene una entrada de disparador correspondiente (mapeo 1:1)
- La selección de bloques es automática: se selecciona el primer bloque cuya entrada de activación está presente
block_trigger_inputsdebe tener la misma longitud queblock_namesyblock_classes- Use
Noneenblock_trigger_inputspara especificar el bloque predeterminado, es decir, el bloque que se ejecutará si no hay entradas de activación presentes
Ejemplo:
class MyAutoBlock(AutoPipelineBlocks):
block_classes = [InpaintEncoderBlock, ImageEncoderBlock, TextEncoderBlock]
block_names = ["inpaint", "img2img", "text2img"]
block_trigger_inputs = ["mask_image", "image", None] # text2img is the default
Con esta definición:
- Mientras se proporcione
mask_image, se ejecuta el bloque "inpaint" (independientemente de si se proporcionaimageo no). - Si no se proporciona
mask_imagepero sí se proporcionaimage, se ejecuta el bloque "img2img" - En caso contrario, se ejecuta el bloque "text2img" (predeterminado, el disparador es
None)
select_block[[diffusers.AutoPipelineBlocks.select_block]]
select_block(**kwargs)
Seleccione el bloque en función de la entrada de activación presente (distinta de None).
ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks()
Parámetros:
block_classes : Lista de clases de bloques a utilizar. Debe tener la misma longitud que block_names.
block_names : Lista de nombres para cada bloque. Debe tener la misma longitud que block_classes.
block_trigger_inputs : Lista de nombres de entrada que select_block() utiliza para determinar qué bloque ejecutar. Para ConditionalPipelineBlocks, esto no tiene por qué corresponder a block_names y block_classes. Para AutoPipelineBlocks, esto debe tener la misma longitud que block_names y block_classes, donde cada elemento especifica la entrada de activación para el bloque correspondiente.
default_block_name : Nombre del bloque predeterminado que se ejecuta cuando ninguna entrada de activación coincide. Si es None, este bloque puede omitirse por completo cuando no se proporcionan entradas de activación.
Un bloque Pipeline que selecciona condicionalmente un bloque para ejecutarlo en función de las entradas. Las subclases deben implementar el método select_block para definir la lógica de selección del bloque. Actualmente, solo admitimos lógica de selección basada en la presencia o ausencia de entradas (es decir, si son None o no).
Esta clase hereda de ModularPipelineBlocks. Consulte la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los bloques de pipeline (como la carga o el guardado, etc.).
get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Parámetros:
- **kwargs : Nombres y valores de entrada. Solo las entradas de activación afectan la selección de bloques.
Devuelve: - ModularPipelineBlocks
Un bloque hoja o SequentialPipelineBlocks resueltos
None: Si este bloque se omitiría (no se coincidió con ningún disparador y no hay un valor predeterminado)
Obtén el o los bloques que se ejecutarían con las entradas dadas.
Resuelve recursivamente los ConditionalPipelineBlocks anidados hasta alcanzar:
- Un bloque hoja (sin sub_blocks ni LoopSequentialPipelineBlocks) → devuelve un único
ModularPipelineBlocks - Un
SequentialPipelineBlocks→ delega en suget_execution_blocks(), que devuelve unSequentialPipelineBlocksque contiene los bloques de ejecución resueltos
select_block[[diffusers.ConditionalPipelineBlocks.select_block]]
select_block(**kwargs)
Parámetros:
- **kwargs : Nombres de las entradas de activación y sus valores desde el estado.
Devuelve: str | None
El nombre del bloque que se debe ejecutar, o None para usar el predeterminado/omitir.
Seleccione el bloque a ejecutar en función de las entradas del disparador. Las subclases deben implementar este método para definir la lógica de selección del bloque.
Nota: Cuando las entradas de activación incluyen salidas intermedias de bloques anteriores, la lógica de selección debe depender únicamente de la presencia o ausencia de la entrada (es decir, si es None o no), y no de su valor real. Esto se debe a que get_execution_blocks() resuelve las condiciones de forma estática propagando los nombres de las salidas intermedias sin sus valores en tiempo de ejecución.
Xet Storage Details
- Size:
- 12.6 kB
- Xet hash:
- 078f35d15c945952eeb0496d017ba80d78aefc7c66359fdaae7151ff7c583fca
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.