Diffusers documentation

PiflowScheduler

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

PiflowScheduler

PiflowScheduler é o scheduler de poucas etapas dos checkpoints destilados do Kandinsky 6, tanto do modelo de texto/imagem para vídeo e áudio quanto do modelo de super-resolução de vídeo, e dos checkpoints destilados do Kandinsky S2V 1.0. Ele implementa π-Flow: o transformer prevê n_grid estimativas desruídas por canal latente em um pequeno número de pontos de grade, e o scheduler integra uma política sem rede entre eles.

A implementação de referência pode ser encontrada em Lakonik/LakonLab.

PiflowScheduler

classe diffusers.PiflowScheduler

< >

( 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, padrão 1000) — Número de etapas de difusão de treinamento.
  • shift (float, opcional, padrão 5.0) — Deslocamento do passo de tempo do flow-matching.
  • n_grid (int, opcional, padrão 10) — Número de previsões na saída do modelo expandido.
  • eps (float, opcional, padrão 1e-6) — Passo de tempo mínimo e denominador da política.
  • final_step_size_scale (float, opcional, padrão 0.5) — Tamanho relativo do segmento final de passo bruto.
  • num_policy_substeps (int, opcional, padrão 128) — Número máximo de subpassos de integração da política por unidade de timestep bruto.

Agendador PiFlow de poucas etapas para transformadores de difusão com saída ampliada.

O PiFlow avalia o modelo de remoção de ruído em um pequeno número de pontos de grade e integra uma política sem rede entre essas avaliações. O agendador é destinado a checkpoints destilados do Kandinsky 6, incluindo o modelo principal de vídeo/áudio e o modelo de super-resolução de vídeo. A saída do modelo deles contém n_grid previsões por canal de amostra.

Este agendador herda de SchedulerMixin e ConfigMixin. Consulte a documentação da superclasse para os métodos genéricos implementados para todos os agendadores (carregamento, salvamento, etc.).

set_timesteps

< >

( 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 avaliações do modelo.
  • device (str ou torch.device, opcional) — Dispositivo para o agendamento.
  • sigmas (list[float], optional) — Unsupported custom sigma schedule.
  • mu (float, opcional) — Parâmetro de deslocamento dinâmico não suportado.
  • timesteps (list[float], opcional) — Agenda de passos personalizada não suportada.

Defina o cronograma de passos de tempo do PiFlow destilado.

etapa

< >

( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensorreturn_dict: bool = True ) → [PiflowSchedulerOutput] or tuple

Parâmetros

  • model_output (torch.FloatTensor) — Saída do modelo ampliada contendo n_grid previsões por canal de amostra.
  • timestep (float ou torch.FloatTensor) — Timestep atual do agendador.
  • sample (torch.FloatTensor) — Amostra ruidosa atual.
  • return_dict (bool, opcional, padrão True) — Se deve retornar um [PiflowSchedulerOutput].

Retorna

[PiflowSchedulerOutput] ou tuple

Amostra atualizada.

Avance um passo integrando a política PiFlow.

PiflowSchedulerOutput

classe diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput

< >

( prev_sample: Tensor )

Parâmetros

  • prev_sample (torch.Tensor) — Amostra calculada no próximo ponto da grade PiFlow. Deve ser usada como a próxima entrada de desruidamento.

Classe de saída para a saída da função step do agendador.

Update on GitHub