Diffusers documentation
PiflowScheduler
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
< 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, 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
< 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 avaliações do modelo. - device (
stroutorch.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
< source >( 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_gridprevisõ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
< source >( prev_sample: Tensor )
Classe de saída para a saída da função step do agendador.