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 là trình lập lịch ít bước của các checkpoint Kandinsky 6 đã chưng cất, bao gồm cả mô hình từ văn bản/ảnh sang video và âm thanh cũng như mô hình siêu phân giải video, và của các checkpoint Kandinsky S2V 1.0 đã chưng cất. Nó triển khai π-Flow: transformer dự đoán n_grid ước lượng khử nhiễu trên mỗi kênh tiềm ẩn tại một số lượng nhỏ các điểm lưới, và trình lập lịch tích hợp một chính sách không cần mạng giữa chúng.

Bản tham chiếu có thể được tìm thấy tại Lakonik/LakonLab.

PiflowScheduler

lớp 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 )

Tham số

  • num_train_timesteps (int, tùy chọn, mặc định là 1000) — Số bước khuếch tán huấn luyện.
  • shift (float, tùy chọn, mặc định là 5.0) — Độ dịch chuyển bước thời gian (timestep) của flow-matching.
  • n_grid (int, tùy chọn, mặc định là 10) — Số lượng dự đoán trong đầu ra mô hình đã mở rộng.
  • eps (float, tùy chọn, mặc định là 1e-6) — Bước thời gian tối thiểu và mẫu số của chính sách.
  • final_step_size_scale (float, tùy chọn, mặc định là 0.5) — Kích thước tương đối của đoạn bước thô cuối cùng.
  • num_policy_substeps (int, tùy chọn, mặc định là 128) — Số lượng bước con tích hợp chính sách tối đa trên mỗi đơn vị bước thô.

Trình lập lịch PiFlow ít bước cho các diffusion transformer có đầu ra mở rộng.

PiFlow đánh giá mô hình khử nhiễu tại một số lượng nhỏ các điểm lưới và tích hợp một chính sách không cần mạng giữa các lần đánh giá đó. Trình lập lịch được thiết kế cho các checkpoint đã được chưng cất của Kandinsky 6, bao gồm mô hình video/âm thanh chính và mô hình siêu phân giải video. Đầu ra mô hình của chúng chứa n_grid dự đoán cho mỗi kênh mẫu.

Trình lập lịch này kế thừa từ SchedulerMixin và ConfigMixin. Xem tài liệu của lớp cha để biết các phương thức chung được triển khai cho tất cả các trình lập lịch (tải, lưu, v.v.).

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 )

Tham số

  • num_inference_steps (int) — Số lần đánh giá mô hình.
  • device (str hoặc torch.device, tùy chọn) — Thiết bị cho lịch trình.
  • sigmas (list[float], tùy chọn) — Lịch sigma tùy chỉnh không được hỗ trợ.
  • mu (float, tuỳ chọn) — Tham số dynamic-shift không được hỗ trợ.
  • timesteps (list[float], tùy chọn) — Lịch trình bước thời gian tùy chỉnh không được hỗ trợ.

Đặt lịch trình bước thời gian (timestep) của PiFlow đã được chưng cất.

bước

< >

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

Tham số

  • model_output (torch.FloatTensor) — Đầu ra mô hình đã mở rộng, chứa n_grid dự đoán cho mỗi kênh của mỗi mẫu.
  • timestep (float hoặc torch.FloatTensor) — Timestep hiện tại của scheduler.
  • sample (torch.FloatTensor) — Mẫu nhiễu hiện tại.
  • return_dict (bool, tuỳ chọn, mặc định là True) — Có nên trả về một [PiflowSchedulerOutput] hay không.

Trả về

[PiflowSchedulerOutput] hoặc tuple

Mẫu đã cập nhật.

Tiến thêm một bước bằng cách tích hợp chính sách PiFlow.

PiflowSchedulerOutput

lớp diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput

< >

( prev_sample: Tensor )

Tham số

  • prev_sample (torch.Tensor) — Mẫu được tính tại điểm lưới PiFlow tiếp theo. Nên được sử dụng làm đầu vào khử nhiễu tiếp theo.

Lớp đầu ra cho kết quả của hàm step của trình lập lịch.

Update on GitHub