Diffusers documentation
DDIMInverseScheduler
DDIMInverseScheduler
DDIMInverseScheduler es el programador invertido de Denoising Diffusion Implicit Models (DDIM) de Jiaming Song, Chenlin Meng y Stefano Ermon.
La implementación se basa principalmente en la definición de inversión DDIM de Null-text Inversion for Editing Real Images using Guided Diffusion Models.
DDIMInverseScheduler
clase diffusers.DDIMInverseScheduler
< source >( num_train_timesteps: int = 1000beta_start: float = 0.0001beta_end: float = 0.02beta_schedule: typing.Literal['linear', 'scaled_linear', 'squaredcos_cap_v2'] = 'linear'trained_betas: numpy.ndarray | list[float] | None = Noneclip_sample: bool = Trueset_alpha_to_one: bool = Truesteps_offset: int = 0prediction_type: typing.Literal['epsilon', 'sample', 'v_prediction'] = 'epsilon'clip_sample_range: float = 1.0timestep_spacing: typing.Literal['leading', 'trailing'] = 'leading'rescale_betas_zero_snr: bool = False**kwargs )
Parámetros
- num_train_timesteps (
int, por defecto 1000) — El número de pasos de difusión para entrenar el modelo. - beta_start (
float, por defecto 0.0001) — El valor inicial debetapara la inferencia. - beta_end (
float, valor predeterminado 0.02) — El valor final debeta. - beta_schedule (
str, por defecto"linear") — El programa de betas, una correspondencia desde un rango de betas hasta una secuencia de betas para dar pasos al modelo. Elija entrelinear,scaled_linearosquaredcos_cap_v2. - trained_betas (
np.ndarray, opcional) — Pase un array de betas directamente al constructor para omitirbeta_startybeta_end. - clip_sample (
bool, por defectoTrue) — Recorta la muestra predicha para la estabilidad numérica. - clip_sample_range (
float, por defecto 1.0) — La magnitud máxima para el recorte de muestras. Solo es válido cuandoclip_sample=True. - set_alpha_to_one (
bool, por defectoTrue) — Cada paso de difusión utiliza el valor del producto de alfas en ese paso y en el anterior. En el paso final no hay un alfa anterior. Cuando esta opción esTrue, el producto del alfa anterior se fija en 0; de lo contrario, se utiliza el valor de alfa en el pasonum_train_timesteps - 1. - steps_offset (
int, valor predeterminado 0) — Un desplazamiento que se suma a los pasos de inferencia, tal como lo requieren algunas familias de modelos. - prediction_type (
str, defaults toepsilon, optional) — Prediction type of the scheduler function; can beepsilon(predicts the noise of the diffusion process),sample(directly predicts the noisy sample) orv_prediction` (see section 2.4 of Imagen Video paper). - timestep_spacing (
str, por defecto"leading") — La forma en que se deben escalar los pasos de tiempo. Consulte la tabla 2 de Common Diffusion Noise Schedules and Sample Steps are Flawed para obtener más información. - rescale_betas_zero_snr (
bool, por defectoFalse) — Si se deben reescalar los betas para tener un SNR terminal cero. Esto permite al modelo generar muestras muy brillantes y oscuras en lugar de limitarse a muestras con un brillo medio. Relacionado de forma laxa con--offset_noise.
DDIMInverseScheduler es el programador inverso de DDIMScheduler.
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.
scale_model_input
< source >( sample: Tensortimestep: int | None = None ) → torch.Tensor
Garantiza la interoperabilidad con los programadores que necesitan escalar la entrada del modelo de desruido en función del paso temporal actual.
set_timesteps
< source >( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = None )
Establece los pasos discretos utilizados para la cadena de difusión (para ejecutarse antes de la inferencia).
paso
< source >( model_output: Tensortimestep: intsample: Tensorreturn_dict: bool = True ) → ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput or tuple
Parámetros
- model_output (
torch.Tensor) — La salida directa del modelo de difusión aprendido. - timestep (
int) — El paso de tiempo discreto actual en la cadena de difusión. - sample (
torch.Tensor) — Una instancia actual de una muestra creada por el proceso de difusión. - return_dict (
bool, opcional, valor predeterminadoTrue) — Indica si se debe devolver un~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutputo untuple.
Devuelve
~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput o tuple
If return_dict is True, ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput 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).