Diffusers documentation
RFD4ProteinaScheduler
RFD4ProteinaScheduler
RFD4ProteinaScheduler là trình lấy mẫu flow có điểm theo thời gian được điều chỉnh lại của RFD4-Proteína cho một chế độ. Pipeline sử dụng hai instance, một cho backbone (bb_ca, tọa độ tính bằng nanomet) và một cho các latent cục bộ theo từng token (local_latents), mỗi instance có lịch trình thời gian, lịch trình nhiễu và việc điều chỉnh lại riêng. Xem RFD4ProteinaPipeline để biết vòng lặp lấy mẫu.
RFD4ProteinaScheduler
lớp diffusers.RFD4ProteinaScheduler
< source >( schedule_mode: strnoise_mode: strtsr_k: floattsr_sigma: floattail_steps: int = 10tail_step_multiplier: int = 2t_lim_ode: float = 0.95t_lim_ode_below: float = 0.02 )
Tham số
- schedule_mode (
str) — Khoảng cách giữa các thời điểm của nhiễu và dữ liệu:"log"hoặc"power". - noise_mode (
str) — Hình dạng của nhiễu được tiêm vào cửa sổ ngẫu nhiên:"1/t"hoặc"tan". - tsr_k (
float) — Nhiệt độ lấy mẫu thấp đến mức nào; giá trị cao hơn nghĩa là thấp hơn. - tsr_sigma (
float) — Tốc độ đạt đến nhiệt độ thấp; giá trị cao hơn thì nhanh hơn. - tail_steps (
int, mặc định là10) — Số lượng khoảng cuối cùng có độ mịn hơn phần còn lại theo hệ sốtail_step_multiplier. - tail_step_multiplier (
int, mặc định là2) — Mức độ chi tiết của các khoảng cuối cùng. - t_lim_ode (
float, mặc định là0.95) — Trên ngưỡng thời gian này, bước là tất định. - t_lim_ode_below (
float, mặc định là0.02) — Dưới ngưỡng thời gian này, bước là tất định.
Trình lấy mẫu luồng được điều chỉnh lại theo điểm thời gian cho một chế độ của RFD4-Proteína.
Pipeline tích hợp hai phương thức, phần backbone và các biến tiềm năng cục bộ theo từng token, mỗi phương thức có một trình lập lịch riêng. Chúng khác nhau về lịch trình thời gian, lịch trình nhiễu và việc chuẩn hóa lại.
Gọi set_timesteps trước khi lấy mẫu. Thời gian tăng dần từ nhiễu về phía dữ liệu sạch. Một trình lập lịch sẽ theo dõi khoảng thời gian hiện tại và không nên được dùng chung cho các lần tạo đồng thời.
set_timesteps
< source >( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = Nonestart_time: float | None = None )
Giải quyết lịch trình và đặt lại con trỏ tích hợp.
add_noise
< source >( original_samples: Tensornoise: Tensortimesteps: typing.Union[float, torch.Tensor] )
Mẫu biên phía trước (1 - t) * noise + t * clean.
bước
< source >( model_output: Tensortimestep: Tensorsample: Tensoremit_mask: Tensorgenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonereturn_dict: bool = True ) → RFD4ProteinaSchedulerOutput or tuple
Tham số
- model_output (
torch.Tensor) — Tốc độ dự đoán, có hình dạng giốngsample. - timestep (
torch.Tensor) — Phần tử tiếp theo củatimesteps. Các bước không theo thứ tự sẽ bị từ chối. - sample (
torch.Tensor) — Trạng thái hiện tại(B, N, D). - emit_mask (
torch.Tensor) — Boolean(B, N), true cho các token được cập nhật (không phải ngữ cảnh hoặc padding). - generator (
torch.Generatorhoặclist[torch.Generator], tuỳ chọn) — Bộ sinh cho một hàng duy nhất hoặc các bộ sinh riêng biệt cho từng hàng trong batch. Nếu bỏ qua, hệ thống sẽ sử dụng luồng toàn cục. - return_dict (
bool, mặc định làTrue) — Trả vềRFD4ProteinaSchedulerOutput; nếu không, trả về một tuple một phần tử chứa trạng thái.
Trả về
RFD4ProteinaSchedulerOutput hoặc tuple
Trạng thái đã được cập nhật.
Tiến hành một khoảng tích phân và cập nhật step_index.
RFD4ProteinaSchedulerOutput
lớp diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput
< source >( prev_sample: Tensor )
Trạng thái cập nhật của một phương thức.