Buckets:
| # DPMSolverSinglestepScheduler | |
| `DPMSolverSinglestepScheduler` là một trình lập lịch một bước từ [DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps](https://huggingface.co/papers/2206.00927) và [DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models](https://huggingface.co/papers/2211.01095) của Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li và Jun Zhu. | |
| DPMSolver (và phiên bản cải tiến DPMSolver++) là bộ giải bậc cao chuyên dụng, tốc độ cao cho các phương trình vi phân thường (ODE) của mô hình khuếch tán, với bảo đảm bậc hội tụ. Về mặt thực nghiệm, việc lấy mẫu bằng DPMSolver chỉ với 20 bước có thể tạo ra các mẫu chất lượng cao, và nó vẫn có thể tạo ra các mẫu khá tốt ngay cả khi chỉ dùng 10 bước. | |
| Bản triển khai gốc có thể được tìm thấy tại [LuChengTHU/dpm-solver](https://github.com/LuChengTHU/dpm-solver). | |
| ## Mẹo | |
| Khuyến nghị đặt `solver_order` thành 2 cho guide sampling, và `solver_order=3` cho unconditional sampling. | |
| Ngưỡng động từ [Imagen](https://huggingface.co/papers/2205.11487) được hỗ trợ, và đối với các mô hình khuếch tán trong không gian pixel, bạn có thể đặt cả `algorithm_type="dpmsolver++"` và `thresholding=True` để sử dụng ngưỡng động. Phương pháp ngưỡng này không phù hợp với các mô hình khuếch tán trong không gian ẩn như Stable Diffusion. | |
| ## DPMSolverSinglestepScheduler[[diffusers.DPMSolverSinglestepScheduler]] | |
| #### diffusers.DPMSolverSinglestepScheduler[[diffusers.DPMSolverSinglestepScheduler]] | |
| ```python | |
| diffusers.DPMSolverSinglestepScheduler(num_train_timesteps: int = 1000, beta_start: float = 0.0001, beta_end: float = 0.02, beta_schedule: typing.Literal['linear', 'scaled_linear', 'squaredcos_cap_v2'] = 'linear', trained_betas: numpy.ndarray | list[float] | None = None, solver_order: int = 2, prediction_type: typing.Literal['epsilon', 'sample', 'v_prediction', 'flow_prediction'] = 'epsilon', thresholding: bool = False, dynamic_thresholding_ratio: float = 0.995, sample_max_value: float = 1.0, algorithm_type: typing.Literal['dpmsolver', 'dpmsolver++', 'sde-dpmsolver++'] = 'dpmsolver++', solver_type: typing.Literal['midpoint', 'heun'] = 'midpoint', lower_order_final: bool = False, use_karras_sigmas: bool = False, use_exponential_sigmas: bool = False, use_beta_sigmas: bool = False, use_flow_sigmas: bool = False, flow_shift: float = 1.0, final_sigmas_type: typing.Literal['zero', 'sigma_min'] = 'zero', lambda_min_clipped: float = -inf, variance_type: typing.Optional[typing.Literal['learned', 'learned_range']] = None, use_dynamic_shifting: bool = False, time_shift_type: typing.Literal['exponential'] = 'exponential') | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L88) | |
| **Tham số:** | |
| num_train_timesteps (`int`, mặc định là `1000`) : Số bước khuếch tán để huấn luyện mô hình. | |
| beta_start (`float`, mặc định là `0.0001`) : Giá trị `beta` ban đầu của suy luận. | |
| beta_end (`float`, mặc định là `0.02`) : Giá trị `beta` cuối cùng. | |
| beta_schedule (`"linear"`, `"scaled_linear"`, hoặc `"squaredcos_cap_v2"`, mặc định là `"linear"`) : Lịch beta, một ánh xạ từ một khoảng beta đến một chuỗi các beta để bước qua mô hình. Chọn từ `linear`, `scaled_linear`, hoặc `squaredcos_cap_v2`. | |
| trained_betas (`np.ndarray` hoặc `list[float]`, *tùy chọn*) : Truyền một mảng betas trực tiếp vào constructor để bỏ qua `beta_start` và `beta_end`. | |
| solver_order (`int`, mặc định là `2`) : Bậc của DPMSolver, có thể là `1` hoặc `2` hoặc `3`. Khuyến nghị sử dụng `solver_order=2` cho lấy mẫu có hướng dẫn và `solver_order=3` cho lấy mẫu không điều kiện. | |
| prediction_type (`"epsilon"`, `"sample"`, `"v_prediction"`, or `"flow_prediction"`, defaults to `"epsilon"`) : Prediction type of the scheduler function; can be `epsilon` (predicts the noise of the diffusion process), `sample` (directly predicts the noisy sample`), `v_prediction` (see section 2.4 of [Imagen Video](https://huggingface.co/papers/2210.02303) paper), or `flow_prediction`. | |
| thresholding (`bool`, mặc định là `False`) : Có sử dụng phương pháp "dynamic thresholding" hay không. Phương pháp này không phù hợp với các mô hình khuếch tán trong không gian ẩn như Stable Diffusion. | |
| dynamic_thresholding_ratio (`float`, mặc định là `0.995`) : Tỷ lệ cho phương pháp ngưỡng động. Chỉ hợp lệ khi `thresholding=True`. | |
| sample_max_value (`float`, mặc định là `1.0`) : Giá trị ngưỡng cho việc đặt ngưỡng động. Chỉ hợp lệ khi `thresholding=True` và `algorithm_type="dpmsolver++"`. | |
| algorithm_type (`"dpmsolver"`, `"dpmsolver++"`, hoặc `"sde-dpmsolver++"`, mặc định là `"dpmsolver++"`) : Kiểu thuật toán cho bộ giải; có thể là `dpmsolver`, `dpmsolver++`, hoặc `sde-dpmsolver++`. Kiểu `dpmsolver` triển khai các thuật toán trong bài báo [DPMSolver](https://huggingface.co/papers/2206.00927), và kiểu `dpmsolver++` triển khai các thuật toán trong bài báo [DPMSolver++](https://huggingface.co/papers/2211.01095). Khuyến nghị sử dụng `dpmsolver++` hoặc `sde-dpmsolver++` với `solver_order=2` cho việc lấy mẫu có hướng dẫn như trong Stable Diffusion. | |
| solver_type (`"midpoint"` hoặc `"heun"`, mặc định là `"midpoint"`) : Kiểu solver cho solver bậc hai; có thể là `midpoint` hoặc `heun`. Kiểu solver ảnh hưởng nhẹ đến chất lượng mẫu, đặc biệt khi số bước nhỏ. Khuyến nghị sử dụng solver `midpoint`. | |
| lower_order_final (`bool`, mặc định là `False`) : Có sử dụng các bộ giải bậc thấp hơn trong các bước cuối cùng hay không. Chỉ hợp lệ cho < 15 bước suy luận. Điều này có thể ổn định việc lấy mẫu của DPMSolver cho các bước < 15, đặc biệt là cho các bước <= 10. | |
| use_karras_sigmas (`bool`, *tùy chọn*, mặc định là `False`) : Có sử dụng Karras sigmas cho kích thước bước trong lịch trình nhiễu trong quá trình lấy mẫu hay không. Nếu `True`, các sigmas sẽ được xác định theo một chuỗi các mức nhiễu {σi}. | |
| use_exponential_sigmas (`bool`, *tùy chọn*, mặc định là `False`) : Có sử dụng các sigma mũ cho kích thước bước trong lịch trình nhiễu trong quá trình lấy mẫu hay không. | |
| use_beta_sigmas (`bool`, *tuỳ chọn*, mặc định là `False`) : Có sử dụng beta sigmas cho kích thước bước trong lịch trình nhiễu trong quá trình lấy mẫu hay không. Xem [Beta Sampling is All You Need](https://huggingface.co/papers/2407.12173) để biết thêm thông tin. | |
| use_flow_sigmas (`bool`, *tùy chọn*, mặc định là `False`) : Có sử dụng flow sigmas cho kích thước bước trong lịch trình nhiễu trong quá trình lấy mẫu hay không. | |
| flow_shift (`float`, *tuỳ chọn*, mặc định là `1.0`) : Tham số flow shift cho các mô hình dựa trên flow. | |
| final_sigmas_type (`"zero"` hoặc `"sigma_min"`, *tùy chọn*, mặc định là `"zero"`) : Giá trị `sigma` cuối cùng cho lịch trình nhiễu trong quá trình lấy mẫu. Nếu là `"sigma_min"`, sigma cuối cùng sẽ giống với sigma cuối cùng trong lịch trình huấn luyện. Nếu là `"zero"`, sigma cuối cùng được đặt thành 0. | |
| lambda_min_clipped (`float`, mặc định là `-inf`) : Ngưỡng cắt cho giá trị tối thiểu của `lambda(t)` để đảm bảo ổn định số. Điều này rất quan trọng đối với lịch nhiễu cosine (`squaredcos_cap_v2`). | |
| variance_type (`"learned"` hoặc `"learned_range"`, *tùy chọn*) : Đặt thành `"learned"` hoặc `"learned_range"` cho các mô hình khuếch tán dự đoán phương sai. Nếu được đặt, đầu ra của mô hình sẽ chứa phương sai Gaussian được dự đoán. | |
| use_dynamic_shifting (`bool`, mặc định là `False`) : Có sử dụng dịch chuyển động (dynamic shifting) cho lịch trình nhiễu (noise schedule) hay không. | |
| time_shift_type (`"exponential"`, mặc định là `"exponential"`) : Loại dịch chuyển thời gian cần áp dụng. | |
| `DPMSolverSinglestepScheduler` là bộ giải bậc cao chuyên dụng, tốc độ cao cho các phương trình vi phân thường (ODE) của mô hình khuếch tán. | |
| Mô hình này kế thừa từ [SchedulerMixin](/docs/diffusers/main/vi/api/schedulers/overview#diffusers.SchedulerMixin) và [ConfigMixin](/docs/diffusers/main/vi/api/configuration#diffusers.ConfigMixin). Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các scheduler, chẳng hạn như tải và lưu. | |
| #### add_noise[[diffusers.DPMSolverSinglestepScheduler.add_noise]] | |
| ```python | |
| add_noise(original_samples: Tensor, noise: Tensor, timesteps: IntTensor) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L1277) | |
| **Tham số:** | |
| original_samples (`torch.Tensor`) : Các mẫu gốc không có nhiễu. | |
| noise (`torch.Tensor`) : Nhiễu cần thêm vào các mẫu. | |
| timesteps (`torch.IntTensor`) : Các bước thời gian (timesteps) tại đó sẽ thêm nhiễu vào các mẫu. | |
| **Trả về:** `torch.Tensor` | |
| Các mẫu nhiễu. | |
| Thêm nhiễu vào các mẫu gốc theo lịch trình nhiễu tại các bước thời gian được chỉ định. | |
| #### convert_model_output[[diffusers.DPMSolverSinglestepScheduler.convert_model_output]] | |
| ```python | |
| convert_model_output(model_output: Tensor, *args, sample: typing.Optional[torch.Tensor] = None, **kwargs) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L666) | |
| **Tham số:** | |
| model_output (`torch.Tensor`) : Đầu ra trực tiếp từ mô hình khuếch tán đã học. | |
| sample (`torch.Tensor`) : Một bản sao mẫu hiện tại được tạo ra bởi quá trình khuếch tán. | |
| **Trả về:** `torch.Tensor` | |
| Đầu ra của mô hình đã được chuyển đổi. | |
| Chuyển đổi đầu ra của mô hình sang kiểu dữ liệu tương ứng mà thuật toán DPMSolver/DPMSolver++ cần. DPM-Solver được thiết kế để rời rạc hóa một tích phân của mô hình dự đoán nhiễu, và DPM-Solver++ được thiết kế để rời rạc hóa một tích phân của mô hình dự đoán dữ liệu. | |
| > [!TIP] > Thuật toán và loại mô hình được tách rời. Bạn có thể sử dụng DPMSolver hoặc DPMSolver++ cho cả | |
| noise > prediction và các mô hình dự đoán dữ liệu. | |
| #### dpm_solver_first_order_update[[diffusers.DPMSolverSinglestepScheduler.dpm_solver_first_order_update]] | |
| ```python | |
| dpm_solver_first_order_update(model_output: Tensor, *args, sample: typing.Optional[torch.Tensor] = None, noise: typing.Optional[torch.Tensor] = None, **kwargs) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L762) | |
| **Tham số:** | |
| model_output (`torch.Tensor`) : Đầu ra trực tiếp từ mô hình khuếch tán đã học. | |
| timestep (`int`) : Bước thời gian rời rạc hiện tại trong chuỗi khuếch tán. | |
| prev_timestep (`int`) : Bước thời gian rời rạc trước đó trong chuỗi khuếch tán. | |
| sample (`torch.Tensor`) : Một bản sao mẫu hiện tại được tạo ra bởi quá trình khuếch tán. | |
| noise (`torch.Tensor`, *tùy chọn*) : Nhiễu ngẫu nhiên được sử dụng bởi các biến thể bộ giải (`sde-*`) ngẫu nhiên. Bắt buộc khi `algorithm_type` được đặt thành một trong số chúng, và không được sử dụng trong các trường hợp khác. | |
| **Trả về:** `torch.Tensor` | |
| Tensor mẫu tại bước thời gian trước đó. | |
| Một bước cho DPMSolver bậc nhất (tương đương với DDIM). | |
| #### get_order_list[[diffusers.DPMSolverSinglestepScheduler.get_order_list]] | |
| ```python | |
| get_order_list(num_inference_steps: int) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L253) | |
| **Tham số:** | |
| num_inference_steps (`int`) : Số bước khuếch tán được sử dụng khi tạo mẫu bằng một mô hình đã được huấn luyện trước. | |
| **Trả về:** `list[int]` | |
| Danh sách bậc của bộ giải cho mỗi bước thời gian. | |
| Tính toán bậc của bộ giải ở mỗi bước thời gian. | |
| #### index_for_timestep[[diffusers.DPMSolverSinglestepScheduler.index_for_timestep]] | |
| ```python | |
| index_for_timestep(timestep: typing.Union[int, torch.Tensor], schedule_timesteps: typing.Optional[torch.Tensor] = None) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L1135) | |
| **Tham số:** | |
| timestep (`int` hoặc `torch.Tensor`) : Bước thời gian để tìm chỉ số. | |
| schedule_timesteps (`torch.Tensor`, *tùy chọn*) : Lịch trình bước thời gian để tìm kiếm. Nếu là `None`, sẽ sử dụng `self.timesteps`. | |
| **Trả về:** `int` | |
| Chỉ số của bước thời gian trong lịch trình. | |
| Tìm chỉ số cho một bước thời gian (timestep) cụ thể trong lịch trình. | |
| #### scale_model_input[[diffusers.DPMSolverSinglestepScheduler.scale_model_input]] | |
| ```python | |
| scale_model_input(sample: Tensor, *args, **kwargs) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L1261) | |
| **Tham số:** | |
| sample (`torch.Tensor`) : Mẫu đầu vào. | |
| **Trả về:** `torch.Tensor` | |
| Một mẫu đầu vào đã được chuẩn hóa. | |
| Đảm bảo khả năng hoán đổi với các trình lập lịch cần mở rộng đầu vào của mô hình khử nhiễu tùy thuộc vào bước thời gian hiện tại. | |
| #### set_begin_index[[diffusers.DPMSolverSinglestepScheduler.set_begin_index]] | |
| ```python | |
| set_begin_index(begin_index: int = 0) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L320) | |
| **Tham số:** | |
| begin_index (`int`, mặc định là `0`) : Chỉ số bắt đầu cho trình lập lịch. | |
| Đặt chỉ số bắt đầu cho trình lập lịch. Hàm này nên được chạy từ pipeline trước khi suy luận. | |
| #### set_timesteps[[diffusers.DPMSolverSinglestepScheduler.set_timesteps]] | |
| ```python | |
| set_timesteps(num_inference_steps: int = None, device: typing.Union[str, torch.device] = None, mu: float | None = None, timesteps: list[int] | None = None) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L330) | |
| **Tham số:** | |
| num_inference_steps (`int`, *tuỳ chọn*) : Số bước khuếch tán được sử dụng khi tạo mẫu bằng một mô hình đã được huấn luyện trước. | |
| device (`str` hoặc `torch.device`, *tuỳ chọn*) : Thiết bị mà các bước thời gian (timesteps) sẽ được chuyển đến. Nếu là `None`, các bước thời gian sẽ không được chuyển. | |
| mu (`float`, *optional*) : Số mũ cho phép dịch thời gian động. Yêu cầu `use_dynamic_shifting` và `time_shift_type` là `"exponential"`; khi được truyền vào, `flow_shift` sẽ được đặt thành `exp(mu)`. | |
| timesteps (`list[int]`, *optional*) : Các bước thời gian tùy chỉnh được sử dụng để hỗ trợ khoảng cách tùy ý giữa các bước thời gian. Nếu là `None`, chiến lược khoảng cách bước thời gian mặc định với khoảng cách đều giữa các bước thời gian sẽ được sử dụng. Nếu `timesteps` được truyền vào, `num_inference_steps` phải là `None`. | |
| Đặt các bước thời gian rời rạc được sử dụng cho chuỗi khuếch tán (cần chạy trước khi suy luận). | |
| #### singlestep_dpm_solver_second_order_update[[diffusers.DPMSolverSinglestepScheduler.singlestep_dpm_solver_second_order_update]] | |
| ```python | |
| singlestep_dpm_solver_second_order_update(model_output_list: list[torch.Tensor], *args, sample: typing.Optional[torch.Tensor] = None, noise: typing.Optional[torch.Tensor] = None, **kwargs) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L829) | |
| **Tham số:** | |
| model_output_list (`list[torch.Tensor]`) : Đầu ra trực tiếp từ mô hình khuếch tán đã học tại các bước thời gian hiện tại và sau đó. | |
| timestep (`int`) : Bước thời gian rời rạc hiện tại và sau đó trong chuỗi khuếch tán. | |
| prev_timestep (`int`) : Bước thời gian rời rạc trước đó trong chuỗi khuếch tán. | |
| sample (`torch.Tensor`) : Một bản sao mẫu hiện tại được tạo ra bởi quá trình khuếch tán. | |
| noise (`torch.Tensor`, *tùy chọn*) : Nhiễu ngẫu nhiên được sử dụng bởi các biến thể bộ giải (`sde-*`) ngẫu nhiên. Bắt buộc khi `algorithm_type` được đặt thành một trong số chúng, và không được sử dụng trong các trường hợp khác. | |
| **Trả về:** `torch.Tensor` | |
| Tensor mẫu tại bước thời gian trước đó. | |
| Một bước cho DPMSolver bậc hai đơn bước tính toán nghiệm tại thời điểm `prev_timestep` từ thời điểm `timestep_list[-2]`. | |
| #### singlestep_dpm_solver_third_order_update[[diffusers.DPMSolverSinglestepScheduler.singlestep_dpm_solver_third_order_update]] | |
| ```python | |
| singlestep_dpm_solver_third_order_update(model_output_list: list[torch.Tensor], *args, sample: typing.Optional[torch.Tensor] = None, noise: typing.Optional[torch.Tensor] = None, **kwargs) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L943) | |
| **Tham số:** | |
| model_output_list (`list[torch.Tensor]`) : Đầu ra trực tiếp từ mô hình khuếch tán đã học tại các bước thời gian hiện tại và sau đó. | |
| timestep (`int`) : Bước thời gian rời rạc hiện tại và sau đó trong chuỗi khuếch tán. | |
| prev_timestep (`int`) : Bước thời gian rời rạc trước đó trong chuỗi khuếch tán. | |
| sample (`torch.Tensor`) : Một bản sao mẫu hiện tại được tạo ra bởi quá trình khuếch tán. | |
| noise (`torch.Tensor`, *tùy chọn*) : Nhiễu ngẫu nhiên được sử dụng bởi các biến thể bộ giải (`sde-*`) ngẫu nhiên. Bắt buộc khi `algorithm_type` được đặt thành một trong số chúng, và không được sử dụng trong các trường hợp khác. | |
| **Trả về:** `torch.Tensor` | |
| Tensor mẫu tại bước thời gian trước đó. | |
| Một bước cho DPMSolver đơn bước bậc ba, tính toán nghiệm tại thời điểm `prev_timestep` từ thời điểm `timestep_list[-3]`. | |
| #### singlestep_dpm_solver_update[[diffusers.DPMSolverSinglestepScheduler.singlestep_dpm_solver_update]] | |
| ```python | |
| singlestep_dpm_solver_update(model_output_list: list[torch.Tensor], *args, sample: typing.Optional[torch.Tensor] = None, order: int = None, noise: typing.Optional[torch.Tensor] = None, **kwargs) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L1068) | |
| **Tham số:** | |
| model_output_list (`list[torch.Tensor]`) : Đầu ra trực tiếp từ mô hình khuếch tán đã học tại các bước thời gian hiện tại và sau đó. | |
| timestep (`int`) : Bước thời gian rời rạc hiện tại và sau đó trong chuỗi khuếch tán. | |
| prev_timestep (`int`) : Bước thời gian rời rạc trước đó trong chuỗi khuếch tán. | |
| sample (`torch.Tensor`) : Một bản sao mẫu hiện tại được tạo ra bởi quá trình khuếch tán. | |
| order (`int`) : Bậc của bộ giải tại bước này. | |
| noise (`torch.Tensor`, *tùy chọn*) : Nhiễu ngẫu nhiên được sử dụng bởi các biến thể bộ giải (`sde-*`) ngẫu nhiên. Bắt buộc khi `algorithm_type` được đặt thành một trong số chúng, và không được sử dụng trong các trường hợp khác. | |
| **Trả về:** `torch.Tensor` | |
| Tensor mẫu tại bước thời gian trước đó. | |
| Một bước cho DPMSolver singlestep. | |
| #### bước[[diffusers.DPMSolverSinglestepScheduler.step]] | |
| ```python | |
| step(model_output: Tensor, timestep: typing.Union[int, torch.Tensor], sample: Tensor, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py#L1188) | |
| **Tham số:** | |
| model_output (`torch.Tensor`) : Đầu ra trực tiếp từ mô hình khuếch tán đã học. | |
| timestep (`int` hoặc `torch.Tensor`) : Bước thời gian rời rạc hiện tại trong chuỗi khuếch tán. | |
| sample (`torch.Tensor`) : Một bản sao mẫu hiện tại được tạo ra bởi quá trình khuếch tán. | |
| generator (`torch.Generator`, *tùy chọn*) : Bộ tạo số ngẫu nhiên cho việc lấy mẫu ngẫu nhiên. | |
| return_dict (`bool`, mặc định là `True`) : Có nên trả về một [SchedulerOutput](/docs/diffusers/main/vi/api/schedulers/ipndm#diffusers.schedulers.scheduling_utils.SchedulerOutput) hay `tuple` hay không. | |
| **Trả về:** [SchedulerOutput](/docs/diffusers/main/vi/api/schedulers/ipndm#diffusers.schedulers.scheduling_utils.SchedulerOutput) hoặc `tuple` | |
| If return_dict is `True`, [SchedulerOutput](/docs/diffusers/main/vi/api/schedulers/ipndm#diffusers.schedulers.scheduling_utils.SchedulerOutput) is returned, otherwise a tuple is returned where the first element is the sample tensor. | |
| Dự đoán mẫu từ bước thời gian trước đó bằng cách đảo ngược SDE. Hàm này lan truyền mẫu bằng DPMSolver singlestep. | |
| ## SchedulerOutput[[diffusers.schedulers.scheduling_utils.SchedulerOutput]] | |
| #### diffusers.schedulers.scheduling_utils.SchedulerOutput[[diffusers.schedulers.scheduling_utils.SchedulerOutput]] | |
| ```python | |
| diffusers.schedulers.scheduling_utils.SchedulerOutput(prev_sample: Tensor) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L66) | |
| **Tham số:** | |
| prev_sample (`torch.Tensor` có shape `(batch_size, num_channels, height, width)` đối với ảnh) : Mẫu `(x_{t-1})` đã tính của bước thời gian trước đó. `prev_sample` nên được dùng làm đầu vào mô hình tiếp theo trong vòng lặp khử nhiễu. | |
| Lớp cơ sở cho kết quả của hàm `step` của một trình lập lịch. | |
Xet Storage Details
- Size:
- 23.2 kB
- Xet hash:
- 5327680b5681578a74293603d40a45ab88ff7d6f09908150ab1a89cec370cbf4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.