Diffusers documentation
PiflowScheduler
PiflowScheduler
PiflowScheduler es el programador de pocos pasos de los puntos de control destilados de Kandinsky 6, tanto del modelo de texto/imagen a video y audio como del modelo de superresolución de video, y de los puntos de control destilados de Kandinsky S2V 1.0. Implementa π-Flow: el transformador predice n_grid estimaciones desruidadas por canal latente en un pequeño número de puntos de la cuadrícula, y el programador integra una política sin red entre ellos.
La implementación de referencia se puede encontrar en Lakonik/LakonLab.
PiflowScheduler
clase diffusers.PiflowScheduler
< source >( num_train_timesteps: int = 1000shift: float = 5.0n_grid: int = 10eps: float = 1e-06final_step_size_scale: float = 0.5num_policy_substeps: int = 128 )
Parámetros
- num_train_timesteps (
int, opcional, valor predeterminado 1000) — Número de pasos de difusión de entrenamiento. - shift (
float, opcional, valor predeterminado 5.0) — Desplazamiento del paso temporal de flow-matching. - n_grid (
int, opcional, valor predeterminado 10) — Número de predicciones en la salida ampliada del modelo. - eps (
float, opcional, valor predeterminado 1e-6) — Paso de tiempo mínimo y denominador de la política. - final_step_size_scale (
float, opcional, valor predeterminado 0.5) — Tamaño relativo del segmento final de paso en bruto. - num_policy_substeps (
int, opcional, valor predeterminado 128) — Número máximo de subpasos de integración de la política por unidad de paso de tiempo crudo.
Programador PiFlow de pocos pasos para transformadores de difusión con salida ampliada.
PiFlow evalúa el modelo de desruido en un pequeño número de puntos de la cuadrícula e integra una política sin red entre esas evaluaciones. El programador está diseñado para puntos de control destilados de Kandinsky 6, incluido el modelo principal de video/audios y el modelo de superresolución de video. La salida de su modelo contiene n_grid predicciones por canal de muestra.
Este programador hereda de SchedulerMixin y ConfigMixin. Consulta la documentación de la clase superclase para los métodos genéricos implementados para todos los programadores (carga, guardado, etc.).
set_timesteps
< source >( num_inference_steps: int | None = Nonedevice: typing.Union[str, torch.device, NoneType] = Nonesigmas: list[float] | None = Nonemu: float | None = Nonetimesteps: list[float] | None = None )
Parámetros
- num_inference_steps (
int) — Número de evaluaciones del modelo. - device (
strotorch.device, opcional) — Dispositivo para la programación. - sigmas (
list[float], optional) — Unsupported custom sigma schedule. - mu (
float, opcional) — Parámetro de desplazamiento dinámico no compatible. - timesteps (
list[float], opcional) — Programa de pasos de tiempo personalizado no compatible.
Establece la programación de pasos de tiempo de PiFlow destilado.
paso
< source >( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensorreturn_dict: bool = True ) → [PiflowSchedulerOutput] or tuple
Parámetros
- model_output (torch.FloatTensor) — Salida del modelo ampliada que contiene
n_gridpredicciones por canal de muestra. - timestep (float o torch.FloatTensor) — Paso de tiempo actual del programador.
- sample (torch.FloatTensor) — Muestra ruidosa actual.
- return_dict (bool, opcional, predeterminado en True) — Si se debe devolver una [PiflowSchedulerOutput].
Devuelve
[PiflowSchedulerOutput] o tuple
Muestra actualizada.
Avance un paso integrando la política PiFlow.
PiflowSchedulerOutput
clase diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput
< source >( prev_sample: Tensor )
Clase de salida para la función step del programador.