Diffusers documentation

PiflowScheduler

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