Diffusers documentation
FlowMatchHeunDiscreteScheduler
FlowMatchHeunDiscreteScheduler
FlowMatchHeunDiscreteScheduler se basa en el muestreo por flow-matching introducido en EDM.
FlowMatchHeunDiscreteScheduler
clase diffusers.FlowMatchHeunDiscreteScheduler
< source >( num_train_timesteps: int = 1000shift: float = 1.0 )
Programador Heun.
Este modelo hereda de SchedulerMixin y ConfigMixin. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los programadores, como la carga y el guardado.
index_for_timestep
< source >( timestep: typing.Union[float, torch.FloatTensor]schedule_timesteps: typing.Optional[torch.FloatTensor] = None ) → int
Parámetros
- timestep (
floatotorch.FloatTensor) — El valor de timestep que se debe buscar en la programación. - schedule_timesteps (
torch.FloatTensor, opcional) — El calendario de pasos de tiempo en el que buscar. Si esNone, usaself.timesteps.
Devuelve
int
El índice del paso de tiempo en la programación.
Encuentra el índice de un paso de tiempo dado en la programación de pasos de tiempo.
scale_noise
< source >( sample: FloatTensortimestep: typing.Union[float, torch.FloatTensor]noise: FloatTensor ) → torch.FloatTensor
Proceso de avance en flow-matching
set_begin_index
< source >( begin_index: int = 0 )
Establece el índice inicial para el programador. Esta función debe ejecutarse desde la tubería antes de la inferencia.
set_timesteps
< source >( num_inference_steps: intdevice: typing.Union[str, torch.device] = None )
Establece los pasos discretos utilizados para la cadena de difusión (para ejecutarse antes de la inferencia).
paso
< source >( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensors_churn: float = 0.0s_tmin: float = 0.0s_tmax: float = infs_noise: float = 1.0generator: typing.Optional[torch.Generator] = Nonereturn_dict: bool = True ) → FlowMatchHeunDiscreteSchedulerOutput or tuple
Parámetros
- model_output (
torch.FloatTensor) — La salida directa del modelo de difusión aprendido. - timestep (
floatotorch.FloatTensor) — El paso de tiempo discreto actual en la cadena de difusión. - sample (
torch.FloatTensor) — Una instancia actual de una muestra creada por el proceso de difusión. - s_churn (
float) — Parámetro de estocasticidad que controla la cantidad de ruido añadido durante el muestreo. Valores más altos aumentan la aleatoriedad. - s_tmin (
float) — Umbral mínimo de paso temporal para aplicar estocasticidad. Solo se añadirá ruido a los pasos temporales que superen este valor. - s_tmax (
float) — Umbral máximo de paso temporal para aplicar estocasticidad. Solo se añadirá ruido a los pasos temporales por debajo de este valor. - s_noise (
float, por defecto 1.0) — Factor de escala para el ruido añadido a la muestra. - generator (
torch.Generator, opcional) — Un generador de números aleatorios. - return_dict (
bool) — Indica si se debe devolver una tuplaFlowMatchHeunDiscreteSchedulerOutput.
Devuelve
FlowMatchHeunDiscreteSchedulerOutput o tuple
If return_dict is True,
FlowMatchHeunDiscreteSchedulerOutput is returned,
otherwise a tuple is returned where the first element is the sample tensor.
Predice la muestra del paso de tiempo anterior invirtiendo el SDE. Esta función propaga el proceso de difusión a partir de las salidas del modelo aprendido (con mayor frecuencia, el ruido predicho).