# Người hướng dẫn

Guiders là các thành phần trong Modular Diffusers, có chức năng kiểm soát cách quá trình khuếch tán được dẫn hướng trong suốt quá trình tạo ra. Chúng triển khai các kỹ thuật dẫn hướng khác nhau nhằm cải thiện chất lượng và khả năng kiểm soát của kết quả tạo ra.

## BaseGuidance[[diffusers.BaseGuidance]]

#### diffusers.BaseGuidance[[diffusers.BaseGuidance]]

```python
diffusers.BaseGuidance(start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L38)

Lớp cơ sở cung cấp khung xương để triển khai các kỹ thuật hướng dẫn.

#### cleanup_models[[diffusers.BaseGuidance.cleanup_models]]

```python
cleanup_models(denoiser: torch.nn.Module)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L160)

Dọn dẹp các mô hình cho kỹ thuật guidance sau một lô dữ liệu nhất định. Phương thức này nên được ghi đè trong các lớp con để triển khai logic dọn dẹp mô hình cụ thể. Nó hữu ích để loại bỏ bất kỳ hook hay các thay đổi có trạng thái nào được thực hiện trong `prepare_models`.

#### from_pretrained[[diffusers.BaseGuidance.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None = None, subfolder: str | None = None, return_unused_kwargs = False, **kwargs)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L289)

**Tham số:**

pretrained_model_name_or_path (`str` hoặc `os.PathLike`, *tùy chọn*) : Có thể là:  - Một chuỗi, *model id* (ví dụ `google/ddpm-celebahq-256`) của một model được huấn luyện trước lưu trên Hub. - Đường dẫn đến một *thư mục* (ví dụ `./my_model_directory`) chứa cấu hình guider được lưu bằng [save_pretrained()](/docs/diffusers/main/vi/api/modular_diffusers/guiders#diffusers.BaseGuidance.save_pretrained).

subfolder (`str`, *tùy chọn*) : Vị trí thư mục con của tệp mô hình trong kho mô hình lớn hơn trên Hub hoặc cục bộ.

return_unused_kwargs (`bool`, *tuỳ chọn*, mặc định là `False`) : Xác định xem các kwargs không được lớp Python sử dụng có nên được trả về hay không.

cache_dir (`str | os.PathLike`, *tùy chọn*) : Đường dẫn đến thư mục nơi cấu hình mô hình được huấn luyện trước đã tải xuống được lưu đệm nếu không sử dụng bộ lưu đệm tiêu chuẩn.

force_download (`bool`, *tùy chọn*, mặc định là `False`) : Xác định có nên ép buộc tải lại (re-download) trọng số mô hình và các tệp cấu hình hay không, ghi đè lên các phiên bản đã được lưu trong bộ nhớ đệm nếu chúng tồn tại.

proxies (`dict[str, str]`, *tùy chọn*) : Một từ điển các máy chủ proxy để sử dụng theo giao thức hoặc điểm cuối, ví dụ, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Các proxy được sử dụng cho mỗi yêu cầu.

output_loading_info(`bool`, *tuỳ chọn*, mặc định là `False`) : Có trả về một từ điển chứa các khóa bị thiếu, các khóa không mong đợi và thông báo lỗi hay không.

local_files_only(`bool`, *tùy chọn*, mặc định là `False`) : Xác định xem có chỉ tải các tệp trọng số và cấu hình mô hình cục bộ hay không. Nếu đặt thành `True`, mô hình sẽ không được tải xuống từ Hub.

token (`str` hoặc *bool*, *tùy chọn*) : Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. Nếu là `True`, token được tạo từ `diffusers-cli login` (được lưu trong `~/.huggingface`) sẽ được sử dụng.

revision (`str`, *tùy chọn*, mặc định là `"main"`) : Phiên bản mô hình cụ thể cần sử dụng. Nó có thể là tên nhánh, tên thẻ, id commit, hoặc bất kỳ định danh nào được Git cho phép.

Tạo một guider từ tệp cấu hình JSON có sẵn trong thư mục cục bộ hoặc kho Hub.

> [!TIP] > Để sử dụng các mô hình riêng tư hoặc [gated models](https://huggingface.co/docs/hub/models-gated#gated-models), hãy đăng nhập
với `hf > auth login`. Bạn cũng có thể kích hoạt chế độ đặc biệt > ["offline-mode"](https://huggingface.co/diffusers/installation.html#offline-mode) để sử dụng phương pháp này trong môi trường > có tường lửa.

#### get_state[[diffusers.BaseGuidance.get_state]]

```python
get_state()
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L106)

Trả về trạng thái hiện tại của kỹ thuật hướng dẫn dưới dạng từ điển. Các biến trạng thái sẽ được bao gồm trong phương thức __repr__. Trả về: `dict[str, Any]`: Một từ điển chứa các biến trạng thái hiện tại bao gồm:
- step: Bước suy luận hiện tại
- num_inference_steps: Tổng số bước suy luận
- timestep: tensor bước thời gian hiện tại
- count_prepared: Số lần prepare_models được gọi
- enabled: Xác định xem hướng dẫn có được bật hay không
- num_conditions: Số lượng điều kiện

#### mới[[diffusers.BaseGuidance.new]]

```python
new(**kwargs)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L69)

**Tham số:**

- ****kwargs** : Các tham số cấu hình để ghi đè trong bản thể mới. Nếu không cung cấp kwargs, sẽ trả về một bản sao chính xác với cùng cấu hình.

**Trả về:**

Một instance guider mới với cấu hình giống hệt (hoặc đã được cập nhật).

Tạo một bản sao của instance guider này, tùy chọn với các tham số cấu hình đã được sửa đổi.

Ví dụ:
```python
# Create a CFG guider
guider = ClassifierFreeGuidance(guidance_scale=3.5)

# Create an exact copy
same_guider = guider.new()

# Create a copy with different start step, keeping other config the same
new_guider = guider.new(guidance_scale=5)
```

#### prepare_models[[diffusers.BaseGuidance.prepare_models]]

```python
prepare_models(denoiser: torch.nn.Module)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L153)

Chuẩn bị các mô hình cho kỹ thuật guidance trên một lô dữ liệu đã cho. Phương thức này nên được ghi đè trong các lớp con để triển khai logic chuẩn bị mô hình cụ thể.

#### save_pretrained[[diffusers.BaseGuidance.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L350)

**Tham số:**

save_directory (`str` hoặc `os.PathLike`) : Thư mục nơi tệp cấu hình JSON sẽ được lưu (sẽ được tạo nếu chưa tồn tại).

push_to_hub (`bool`, *tùy chọn*, mặc định là `False`) : Có đẩy mô hình của bạn lên Hugging Face Hub sau khi lưu hay không. Bạn có thể chỉ định kho lưu trữ muốn đẩy đến bằng `repo_id` (mặc định sẽ là tên của `save_directory` trong không gian tên của bạn).

kwargs (`dict[str, Any]`, *tùy chọn*) : Các đối số từ khóa bổ sung được truyền đến phương thức [push_to_hub()](/docs/diffusers/main/vi/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub).

Lưu đối tượng cấu hình guider vào một thư mục để có thể tải lại bằng phương thức lớp [from_pretrained()](/docs/diffusers/main/vi/api/modular_diffusers/guiders#diffusers.BaseGuidance.from_pretrained).

## ClassifierFreeGuidance[[diffusers.ClassifierFreeGuidance]]

#### diffusers.ClassifierFreeGuidance[[diffusers.ClassifierFreeGuidance]]

```python
diffusers.ClassifierFreeGuidance(guidance_scale: float = 7.5, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/classifier_free_guidance.py#L30)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Thang CFG được áp dụng bởi guider này trong quá trình xử lý hậu kỳ. Giá trị cao hơn = điều kiện hóa prompt mạnh hơn nhưng có thể làm giảm chất lượng. Phạm vi điển hình: 1.0-20.0.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số điều chỉnh lại để ngăn ngừa hiện tượng quá sáng do các thang độ dẫn hướng cao. Dựa trên [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891). Phạm vi: 0.0 (không điều chỉnh lại) đến 1.0 (điều chỉnh lại hoàn toàn).

use_original_formulation (`bool`, mặc định là `False`) : Nếu `True`, sử dụng công thức CFG gốc từ bài báo. Nếu `False` (mặc định), sử dụng công thức bản địa của diffusers từ bài báo Imagen.

start (`float`, mặc định là `0.0`) : Tỷ lệ các bước khử nhiễu (0.0-1.0) sau đó CFG bắt đầu. Sử dụng > 0.0 để vô hiệu hóa CFG trong các bước khử nhiễu ban đầu.

stop (`float`, mặc định là `1.0`) : Tỷ lệ các bước khử nhiễu (0.0-1.0) sau đó CFG sẽ dừng. Sử dụng < 1.0 để tắt CFG trong các bước khử nhiễu muộn.

enabled (`bool`, mặc định là `True`) : Xác định xem CFG có được bật hay không. Đặt thành `False` để tắt hoàn toàn CFG (chỉ sử dụng các dự đoán có điều kiện).

Triển khai Classifier-Free Guidance (CFG) cho các mô hình khuếch tán.

Tham khảo: https://huggingface.co/papers/2207.12598

CFG cải thiện chất lượng sinh và mức độ tuân thủ prompt bằng cách huấn luyện mô hình đồng thời trên cả dữ liệu có điều kiện và không điều kiện, sau đó kết hợp các dự đoán trong quá trình suy luận. Điều này cho phép đánh đổi giữa chất lượng (độ dẫn cao) và tính đa dạng (độ dẫn thấp).

**Hai công thức CFG:**

1. **Công thức gốc** (từ bài báo):
```
x_pred = x_cond + guidance_scale * (x_cond - x_uncond)
```

   Đẩy các dự đoán có điều kiện xa hơn so với các dự đoán không điều kiện.

2. **Công thức gốc của Diffusers** (mặc định, từ bài báo Imagen):
```
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)
```

   Đưa các dự đoán không điều kiện tiến gần hơn đến các dự đoán có điều kiện, qua đó hiệu quả kìm hãm các đặc trưng tiêu cực (ví dụ: "chất lượng kém", "dấu mờ"). Về mặt lý thuyết là tương đương nhưng trực quan hơn.

Sử dụng `use_original_formulation=True` để chuyển sang công thức gốc.

## ClassifierFreeZeroStarGuidance[[diffusers.ClassifierFreeZeroStarGuidance]]

#### diffusers.ClassifierFreeZeroStarGuidance[[diffusers.ClassifierFreeZeroStarGuidance]]

```python
diffusers.ClassifierFreeZeroStarGuidance(guidance_scale: float = 7.5, zero_init_steps: int = 1, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/classifier_free_zero_star_guidance.py#L30)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Tham số scale cho classifier-free guidance. Giá trị cao hơn dẫn đến việc điều kiện hóa mạnh hơn dựa trên prompt văn bản, trong khi giá trị thấp hơn cho phép nhiều tự do hơn trong quá trình tạo. Giá trị cao hơn có thể dẫn đến bão hòa và suy giảm chất lượng hình ảnh.

zero_init_steps (`int`, mặc định là `1`) : Số bước suy luận mà dự đoán nhiễu sẽ được đặt về không (xem Mục 4.2).

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Tham số này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục tình trạng quá sáng. Dựa trên Mục 3.4 của [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, mặc định là `False`) : Có sử dụng công thức gốc của classifier-free guidance như đề xuất trong bài báo hay không. Mặc định, chúng tôi sử dụng bản triển khai diffusers-native đã có trong codebase từ lâu. Xem [~guiders.classifier_free_guidance.ClassifierFreeGuidance] để biết thêm chi tiết.

start (`float`, mặc định là `0.01`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `0.2`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn sẽ dừng lại.

Classifier-free Zero* (CFG-Zero*): https://huggingface.co/papers/2503.18886

Đây là một bản triển khai của kỹ thuật hướng dẫn Zero* không có bộ phân loại (Classifier-Free Zero* guidance), một biến thể của hướng dẫn không có bộ phân loại (classifier-free guidance). Kỹ thuật này đề xuất khởi tạo bằng không cho các dự đoán nhiễu trong vài bước đầu tiên của quá trình khuếch tán, đồng thời giới thiệu một hệ số tái chuẩn hóa tối ưu cho các dự đoán nhiễu, có thể giúp cải thiện chất lượng của các hình ảnh được tạo ra.

Các tác giả của bài báo đề xuất thiết lập khởi tạo bằng không trong 4% đầu tiên của các bước suy luận.

## SkipLayerGuidance[[diffusers.SkipLayerGuidance]]

#### diffusers.SkipLayerGuidance[[diffusers.SkipLayerGuidance]]

```python
diffusers.SkipLayerGuidance(guidance_scale: float = 7.5, skip_layer_guidance_scale: float = 2.8, skip_layer_guidance_start: float = 0.01, skip_layer_guidance_stop: float = 0.2, skip_layer_guidance_layers: int | list[int] | None = None, skip_layer_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/skip_layer_guidance.py#L32)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Tham số scale cho classifier-free guidance. Giá trị cao hơn dẫn đến việc điều kiện hóa mạnh hơn dựa trên prompt văn bản, trong khi giá trị thấp hơn cho phép nhiều tự do hơn trong quá trình tạo. Giá trị cao hơn có thể dẫn đến bão hòa và suy giảm chất lượng hình ảnh.

skip_layer_guidance_scale (`float`, mặc định là `2.8`) : Tham số scale cho skip layer guidance. Sự nhất quán về giải phẫu và cấu trúc có thể được cải thiện với các giá trị cao hơn, nhưng điều này cũng có thể dẫn đến hiện tượng phơi sáng quá mức và bão hòa.

skip_layer_guidance_start (`float`, mặc định là `0.01`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn lớp bỏ qua (skip layer guidance) bắt đầu.

skip_layer_guidance_stop (`float`, mặc định là `0.2`) : Tỷ lệ tổng số bước khử nhiễu sau đó skip layer guidance sẽ dừng lại.

skip_layer_guidance_layers (`int` hoặc `list[int]`, *tuỳ chọn*) : Các chỉ số lớp để áp dụng skip layer guidance. Có thể là một số nguyên duy nhất hoặc một danh sách các số nguyên. Nếu không được cung cấp, `skip_layer_config` phải được cung cấp. Các giá trị được khuyến nghị là `[7, 8, 9]` cho Stable Diffusion 3.5 Medium.

skip_layer_config (`LayerSkipConfig` hoặc `list[LayerSkipConfig]`, *tùy chọn*) : Cấu hình cho skip layer guidance. Có thể là một `LayerSkipConfig` đơn lẻ hoặc một danh sách các `LayerSkipConfig`. Nếu không được cung cấp, `skip_layer_guidance_layers` phải được cung cấp.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Tham số này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục tình trạng quá sáng. Dựa trên Mục 3.4 của [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, mặc định là `False`) : Có sử dụng công thức gốc của classifier-free guidance như đề xuất trong bài báo hay không. Mặc định, chúng tôi sử dụng bản triển khai diffusers-native đã có trong codebase từ lâu. Xem [~guiders.classifier_free_guidance.ClassifierFreeGuidance] để biết thêm chi tiết.

start (`float`, mặc định là `0.01`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `0.2`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn sẽ dừng lại.

Skip Layer Guidance (SLG): https://github.com/Stability-AI/sd3.5

Hướng dẫn Không gian - Thời gian (STG): https://huggingface.co/papers/2411.18664

SLG được StabilityAI giới thiệu nhằm cải thiện tính nhất quán về cấu trúc và giải phẫu trong các hình ảnh được tạo ra. Phương pháp này hoạt động bằng cách bỏ qua bước truyền thẳng (forward pass) của các khối transformer được chỉ định trong quá trình khử nhiễu trên một lô dữ liệu điều kiện bổ sung, bên cạnh các lô dữ liệu có điều kiện và không điều kiện đã được sử dụng trong CFG ([~guiders.classifier_free_guidance.ClassifierFreeGuidance]), sau đó thực hiện co giãn và dịch chuyển các dự đoán CFG dựa trên sự khác biệt giữa dự đoán có điều kiện không bỏ qua và dự đoán có điều kiện có bỏ qua.

Trực giác đằng sau SLG có thể được hiểu là việc di chuyển các ước lượng phân phối dự đoán của CFG ra xa hơn so với các phiên bản kém hơn của các ước lượng phân phối có điều kiện (bởi vì việc bỏ qua các lớp tương đương với việc sử dụng một phiên bản kém hơn của mô hình cho dự đoán có điều kiện).

STG là một cải tiến và công trình tiếp nối, kết hợp các ý tưởng từ SLG, PAG và các kỹ thuật tương tự nhằm nâng cao chất lượng tạo ra trong các mô hình khuếch tán video.

Đọc thêm:
- [Điều hướng Mô hình Khuếch tán bằng một Phiên bản Kém hơn của Chính Nó](https://huggingface.co/papers/2406.02507)

Các giá trị của `skip_layer_guidance_scale`, `skip_layer_guidance_start` và `skip_layer_guidance_stop` mặc định theo khuyến nghị của StabilityAI dành cho Stable Diffusion 3.5 Medium.

## SmoothedEnergyGuidance[[diffusers.SmoothedEnergyGuidance]]

#### diffusers.SmoothedEnergyGuidance[[diffusers.SmoothedEnergyGuidance]]

```python
diffusers.SmoothedEnergyGuidance(guidance_scale: float = 7.5, seg_guidance_scale: float = 2.8, seg_blur_sigma: float = 9999999.0, seg_blur_threshold_inf: float = 9999.0, seg_guidance_start: float = 0.0, seg_guidance_stop: float = 1.0, seg_guidance_layers: int | list[int] | None = None, seg_guidance_config: SmoothedEnergyGuidanceConfig | list[SmoothedEnergyGuidanceConfig] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/smoothed_energy_guidance.py#L32)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Tham số scale cho classifier-free guidance. Giá trị cao hơn dẫn đến việc điều kiện hóa mạnh hơn dựa trên prompt văn bản, trong khi giá trị thấp hơn cho phép nhiều tự do hơn trong quá trình tạo. Giá trị cao hơn có thể dẫn đến bão hòa và suy giảm chất lượng hình ảnh.

seg_guidance_scale (`float`, mặc định là `3.0`) : Tham số scale cho hướng dẫn năng lượng làm mịn. Sự nhất quán về giải phẫu và cấu trúc có thể được cải thiện với các giá trị cao hơn, nhưng điều này cũng có thể dẫn đến hiện tượng phơi sáng quá mức và bão hòa.

seg_blur_sigma (`float`, mặc định là `9999999.0`) : Mức độ làm mờ các trọng số chú ý. Đặt giá trị này lớn hơn 9999.0 sẽ dẫn đến làm mờ vô hạn, có nghĩa là các truy vấn đồng đều. Việc kiểm soát nó theo hàm mũ được chứng minh là hiệu quả trên thực nghiệm.

seg_blur_threshold_inf (`float`, mặc định là `9999.0`) : Ngưỡng mà khi vượt qua, độ mờ được coi là vô hạn.

seg_guidance_start (`float`, mặc định là `0.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn năng lượng làm mịn bắt đầu.

seg_guidance_stop (`float`, mặc định là `1.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn năng lượng làm mịn sẽ dừng lại.

seg_guidance_layers (`int` hoặc `list[int]`, *tùy chọn*) : Các chỉ số lớp để áp dụng hướng dẫn năng lượng làm mịn. Có thể là một số nguyên duy nhất hoặc một danh sách các số nguyên. Nếu không được cung cấp, `seg_guidance_config` phải được cung cấp. Các giá trị được khuyến nghị là `[7, 8, 9]` cho Stable Diffusion 3.5 Medium.

seg_guidance_config (`SmoothedEnergyGuidanceConfig` hoặc `list[SmoothedEnergyGuidanceConfig]`, *tùy chọn*) : Cấu hình cho hướng dẫn lớp năng lượng làm mịn. Có thể là một `SmoothedEnergyGuidanceConfig` đơn lẻ hoặc một danh sách các `SmoothedEnergyGuidanceConfig`. Nếu không được cung cấp, `seg_guidance_layers` phải được cung cấp.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Tham số này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục tình trạng quá sáng. Dựa trên Mục 3.4 của [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, mặc định là `False`) : Có sử dụng công thức gốc của classifier-free guidance như đề xuất trong bài báo hay không. Mặc định, chúng tôi sử dụng bản triển khai diffusers-native đã có trong codebase từ lâu. Xem [~guiders.classifier_free_guidance.ClassifierFreeGuidance] để biết thêm chi tiết.

start (`float`, mặc định là `0.01`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `0.2`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn sẽ dừng lại.

Hướng dẫn Năng lượng Làm mượt (SEG): https://huggingface.co/papers/2408.00760

SEG hiện chỉ được hỗ trợ như một tính năng nguyên mẫu thử nghiệm, do đó việc triển khai có thể bị thay đổi trong tương lai mà không có cảnh báo hay đảm bảo về khả năng tái lập. Việc triển khai này giả định:
- Hình ảnh được tạo ra có dạng vuông (chiều cao == chiều rộng)
- Mô hình không kết hợp các chế độ (modalities) khác nhau với nhau (ví dụ: các luồng ẩn của văn bản và hình ảnh không được kết hợp với nhau như trong Flux)

## PerturbedAttentionGuidance[[diffusers.PerturbedAttentionGuidance]]

#### diffusers.PerturbedAttentionGuidance[[diffusers.PerturbedAttentionGuidance]]

```python
diffusers.PerturbedAttentionGuidance(guidance_scale: float = 7.5, perturbed_guidance_scale: float = 2.8, perturbed_guidance_start: float = 0.01, perturbed_guidance_stop: float = 0.2, perturbed_guidance_layers: int | list[int] | None = None, perturbed_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/perturbed_attention_guidance.py#L36)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Tham số scale cho classifier-free guidance. Giá trị cao hơn dẫn đến việc điều kiện hóa mạnh hơn dựa trên prompt văn bản, trong khi giá trị thấp hơn cho phép nhiều tự do hơn trong quá trình tạo. Giá trị cao hơn có thể dẫn đến bão hòa và suy giảm chất lượng hình ảnh.

perturbed_guidance_scale (`float`, mặc định là `2.8`) : Tham số scale cho perturbed attention guidance.

perturbed_guidance_start (`float`, mặc định là `0.01`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn chú ý nhiễu loạn bắt đầu.

perturbed_guidance_stop (`float`, mặc định là `0.2`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn chú ý nhiễu loạn sẽ dừng lại.

perturbed_guidance_layers (`int` hoặc `list[int]`, *tùy chọn*) : Các chỉ số lớp để áp dụng hướng dẫn chú ý nhiễu loạn. Có thể là một số nguyên duy nhất hoặc một danh sách các số nguyên. Nếu không được cung cấp, `perturbed_guidance_config` phải được cung cấp.

perturbed_guidance_config (`LayerSkipConfig` hoặc `list[LayerSkipConfig]`, *tùy chọn*) : Cấu hình cho perturbed attention guidance. Có thể là một `LayerSkipConfig` đơn lẻ hoặc một danh sách các `LayerSkipConfig`. Nếu không được cung cấp, `perturbed_guidance_layers` phải được cung cấp.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Tham số này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục tình trạng quá sáng. Dựa trên Mục 3.4 của [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, mặc định là `False`) : Có sử dụng công thức gốc của classifier-free guidance như đề xuất trong bài báo hay không. Mặc định, chúng tôi sử dụng bản triển khai diffusers-native đã có trong codebase từ lâu. Xem [~guiders.classifier_free_guidance.ClassifierFreeGuidance] để biết thêm chi tiết.

start (`float`, mặc định là `0.01`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `0.2`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn sẽ dừng lại.

Hướng dẫn chú ý nhiễu loạn (Perturbed Attention Guidance - PAG): https://huggingface.co/papers/2403.17377

Trực giác đằng sau PAG có thể được hiểu là việc di chuyển các ước lượng phân phối dự đoán của CFG ra xa hơn so với các phiên bản kém hơn của các ước lượng phân phối có điều kiện. PAG là một trong những kỹ thuật đầu tiên đưa ra ý tưởng sử dụng một phiên bản kém hơn của mô hình đã được huấn luyện để tự định hướng tốt hơn trong quá trình khử nhiễu. Kỹ thuật này gây nhiễu các điểm chú ý của luồng ẩn bằng cách thay thế ma trận điểm bằng ma trận đơn vị cho các lớp được chọn một cách có chọn lọc.

Đọc thêm:
- [Điều hướng Mô hình Khuếch tán bằng một Phiên bản Kém hơn của Chính Nó](https://huggingface.co/papers/2406.02507)

PAG được triển khai với cách thức tương tự như SkipLayerGuidance do sự trùng lặp trong các tham số cấu hình và chi tiết triển khai.

## AdaptiveProjectedGuidance[[diffusers.AdaptiveProjectedGuidance]]

#### diffusers.AdaptiveProjectedGuidance[[diffusers.AdaptiveProjectedGuidance]]

```python
diffusers.AdaptiveProjectedGuidance(guidance_scale: float = 7.5, adaptive_projected_guidance_momentum: float | None = None, adaptive_projected_guidance_rescale: float = 15.0, adaptive_projected_guidance_norm_dim: int | tuple[int, ...] | None = None, eta: float = 1.0, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/adaptive_projected_guidance.py#L30)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Tham số scale cho classifier-free guidance. Giá trị cao hơn dẫn đến việc điều kiện hóa mạnh hơn dựa trên prompt văn bản, trong khi giá trị thấp hơn cho phép nhiều tự do hơn trong quá trình tạo. Giá trị cao hơn có thể dẫn đến bão hòa và suy giảm chất lượng hình ảnh.

adaptive_projected_guidance_momentum (`float`, mặc định là `None`) : Tham số động lượng cho hướng dẫn chiếu thích ứng. Bị vô hiệu hóa nếu được đặt thành `None`.

adaptive_projected_guidance_rescale (`float`, mặc định là `15.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Điều này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục

adaptive_projected_guidance_norm_dim (`int` hoặc `tuple[int]`, *tuỳ chọn*) : Chiều (hoặc các chiều) để tính toán chuẩn và phép chiếu APG. Nếu bỏ qua, tất cả các chiều không phải batch sẽ được sử dụng, giữ nguyên hành vi ban đầu.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Tham số này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục tình trạng quá sáng. Dựa trên Mục 3.4 của [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, mặc định là `False`) : Có sử dụng công thức gốc của classifier-free guidance như đề xuất trong bài báo hay không. Mặc định, chúng tôi sử dụng bản triển khai diffusers-native đã có trong codebase từ lâu. Xem [~guiders.classifier_free_guidance.ClassifierFreeGuidance] để biết thêm chi tiết.

start (`float`, mặc định là `0.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `1.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn sẽ dừng lại.

Adaptive Projected Guidance (APG): https://huggingface.co/papers/2410.02416

## AutoGuidance[[diffusers.AutoGuidance]]

#### diffusers.AutoGuidance[[diffusers.AutoGuidance]]

```python
diffusers.AutoGuidance(guidance_scale: float = 7.5, auto_guidance_layers: int | list[int] | None = None, auto_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, dropout: float | None = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/auto_guidance.py#L32)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Tham số scale cho classifier-free guidance. Giá trị cao hơn dẫn đến việc điều kiện hóa mạnh hơn dựa trên prompt văn bản, trong khi giá trị thấp hơn cho phép nhiều tự do hơn trong quá trình tạo. Giá trị cao hơn có thể dẫn đến bão hòa và suy giảm chất lượng hình ảnh.

auto_guidance_layers (`int` hoặc `list[int]`, *tùy chọn*) : Các chỉ số lớp để áp dụng skip layer guidance. Có thể là một số nguyên duy nhất hoặc một danh sách các số nguyên. Nếu không được cung cấp, `skip_layer_config` phải được cung cấp.

auto_guidance_config (`LayerSkipConfig` hoặc `list[LayerSkipConfig]`, *tùy chọn*) : Cấu hình cho skip layer guidance. Có thể là một `LayerSkipConfig` đơn lẻ hoặc một danh sách các `LayerSkipConfig`. Nếu không được cung cấp, `skip_layer_guidance_layers` phải được cung cấp.

dropout (`float`, *optional*) : Xác suất dropout cho autoguidance trên các lớp skip được bật (dùng `auto_guidance_layers` hoặc `auto_guidance_config`). Nếu không được cung cấp, xác suất dropout sẽ được đặt thành 1.0.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Tham số này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục tình trạng quá sáng. Dựa trên Mục 3.4 của [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, mặc định là `False`) : Có sử dụng công thức gốc của classifier-free guidance như đề xuất trong bài báo hay không. Mặc định, chúng tôi sử dụng bản triển khai diffusers-native đã có trong codebase từ lâu. Xem [~guiders.classifier_free_guidance.ClassifierFreeGuidance] để biết thêm chi tiết.

start (`float`, mặc định là `0.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `1.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn sẽ dừng lại.

AutoGuidance: https://huggingface.co/papers/2406.02507

## TangentialClassifierFreeGuidance[[diffusers.TangentialClassifierFreeGuidance]]

#### diffusers.TangentialClassifierFreeGuidance[[diffusers.TangentialClassifierFreeGuidance]]

```python
diffusers.TangentialClassifierFreeGuidance(guidance_scale: float = 7.5, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/tangential_classifier_free_guidance.py#L30)

**Tham số:**

guidance_scale (`float`, mặc định là `7.5`) : Tham số scale cho classifier-free guidance. Giá trị cao hơn dẫn đến việc điều kiện hóa mạnh hơn dựa trên prompt văn bản, trong khi giá trị thấp hơn cho phép nhiều tự do hơn trong quá trình tạo. Giá trị cao hơn có thể dẫn đến bão hòa và suy giảm chất lượng hình ảnh.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số rescale được áp dụng cho các dự đoán nhiễu. Tham số này được sử dụng để cải thiện chất lượng hình ảnh và khắc phục tình trạng quá sáng. Dựa trên Mục 3.4 của [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, mặc định là `False`) : Có sử dụng công thức gốc của classifier-free guidance như đề xuất trong bài báo hay không. Mặc định, chúng tôi sử dụng bản triển khai diffusers-native đã có trong codebase từ lâu. Xem [~guiders.classifier_free_guidance.ClassifierFreeGuidance] để biết thêm chi tiết.

start (`float`, mặc định là `0.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `1.0`) : Tỷ lệ tổng số bước khử nhiễu sau đó hướng dẫn sẽ dừng lại.

Tangential Classifier Free Guidance (TCFG): https://huggingface.co/papers/2503.18137

## LTX2Guidance[[diffusers.LTX2Guidance]]

#### diffusers.LTX2Guidance[[diffusers.LTX2Guidance]]

```python
diffusers.LTX2Guidance(guidance_scale: float = 1.0, stg_scale: float = 0.0, modality_scale: float = 1.0, guidance_rescale: float = 0.0, spatio_temporal_guidance_blocks: list[int] | None = None, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/ltx2_guidance.py#L28)

**Tham số:**

guidance_scale (`float`, mặc định là `1.0`) : Thang CFG cho chế độ này. Bước CFG sẽ bị bỏ qua hoàn toàn ở mức `1.0`.

stg_scale (`float`, mặc định là `0.0`) : Thang độ dẫn hướng không-thời gian cho chế độ này. Bước STG sẽ bị bỏ qua hoàn toàn ở `0.0`.

modality_scale (`float`, mặc định là `1.0`) : Thang độ hướng dẫn cách ly phương thức cho phương thức này. Bước đó sẽ bị bỏ qua hoàn toàn ở mức `1.0`.

guidance_rescale (`float`, mặc định là `0.0`) : Hệ số điều chỉnh lại để ngăn ngừa hiện tượng quá sáng do các thang độ dẫn hướng cao. Dựa trên [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891). Phạm vi: 0.0 (không điều chỉnh lại) đến 1.0 (điều chỉnh lại hoàn toàn).

spatio_temporal_guidance_blocks (`list[int]`, *optional*) : Các khối Transformer cần gây nhiễu trong bước STG. Cách giá trị này được sử dụng phụ thuộc vào khối denoiser: LTX-2 gây nhiễu toàn bộ các khối trong một lần forward duy nhất cung cấp cho mọi modality, do đó nó chỉ đọc giá trị này từ video guider — việc đặt nó trên audio guider sẽ không có tác dụng, và guider đó tham gia cùng một forward STG thông qua `stg_scale` riêng của nó.

start (`float`, mặc định là `0.0`) : Tỷ lệ các bước khử nhiễu (0.0-1.0) sau đó hướng dẫn bắt đầu.

stop (`float`, mặc định là `1.0`) : Tỷ lệ các bước khử nhiễu (0.0-1.0) sau đó hướng dẫn sẽ dừng lại.

enabled (`bool`, mặc định là `True`) : Xác định xem guider này có áp dụng guidance hay không. Khi `False`, chỉ có lượt chạy điều kiện (conditional pass) được thực thi.

Guider đơn phương thức cho LTX-2.X. Kết hợp tối đa ba thuật ngữ thông qua công thức delta:
- hướng dẫn không có bộ phân loại (classifier-free guidance, CFG),
- hướng dẫn không-thời gian (STG), một lượt xử lý bổ sung với một tập các khối transformer bị nhiễu,
- hướng dẫn cách ly chế độ, một lượt xử lý bổ sung với cross-attention A2V/V2A bị vô hiệu hóa.

Một instance điều khiển một modality, do đó một checkpoint đa modality chứa nhiều instance: LTX-2.X ghép một `guider` video với một `audio_guider`, mỗi instance giữ các scales riêng. Ước lượng guidance cuối cùng được tính trong không gian mà caller cung cấp — denoiser của LTX-2 chuyển đổi velocity->x0 trước khi gọi và chuyển ngược lại sau đó, do đó `forward` hoạt động trên các dự đoán x0.

Khác với `SkipLayerGuidance`, vốn áp dụng các nhiễu loạn của nó thông qua các hook, `LTX2Guidance` kỳ vọng các nhiễu loạn không-CFG của nó có thể được cấu hình thông qua các đối số forward của model (`spatio_temporal_guidance_blocks` và `isolate_modalities` trong `LTX2VideoTransformer3DModel`). Khối denoiser gọi chịu trách nhiệm thiết lập các định danh đó cho từng pass; xem `LTX2LoopDenoiser` để có ví dụ sử dụng.

