Diffusers documentation

Người hướng dẫn

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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

lớp diffusers.BaseGuidance

< >

( start: float = 0.0stop: float = 1.0enabled: bool = True )

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

cleanup_models

< >

( denoiser: torch.nn.Module )

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

< >

( pretrained_model_name_or_path: str | os.PathLike | None = Nonesubfolder: str | None = Nonereturn_unused_kwargs = False**kwargs )

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 mô hình được huấn luyện trước có sẵn 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().
  • subfolder (str, tùy chọn) — Vị trí thư mục con của tệp mô hình bên trong một kho lưu trữ mô hình lớn hơn trên Hub hoặc cục bộ.
  • return_unused_kwargs (bool, tùy chọn, mặc định là False) — Liệu 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) — Có nên buộc tải lại (re-download) trọng số mô hình và các tệp cấu hình, ghi đè lên các phiên bản đã được lưu trong bộ nhớ đệm nếu chúng tồn tại hay không.
  • proxies (dict[str, str], tuỳ 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 này được sử dụng cho mỗi yêu cầu.
  • output_loading_info(bool, optional, mặc định là False) — Có nên 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, tuỳ chọn, mặc định là False) — Có chỉ tải trọng số và tệp 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 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.

> Để sử dụng các mô hình riêng tư hoặc có kiểm soát truy cập, hãy đăng nhập bằng hf > auth login. Bạn cũng có thể kích hoạt chế độ đặc biệt > “offline-mode” để sử dụng phương pháp này trong môi trường có tường lửa.

get_state

< >

( )

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

< >

( **kwargs )

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 nào, sẽ trả về một bản sao chính xác với cùng cấu hình.

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ụ:

# 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

< >

( denoiser: torch.nn.Module )

Chuẩn bị các mô hình cho kỹ thuật guidance trên một lô dữ liệu cho trước. 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

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

Tham số

  • save_directory (str hoặc os.PathLike) — Thư mục nơi tệp JSON cấu hình 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 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().

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().

ClassifierFreeGuidance

lớp diffusers.ClassifierFreeGuidance

< >

( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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. Khoảng điển hình: 1.0-20.0.
  • guidance_rescale (float, mặc định là 0.0) — Hệ số điều chỉnh tỷ lệ để 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. Phạm vi: 0.0 (không điều chỉnh tỷ lệ) đến 1.0 (điều chỉnh tỷ lệ 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 native 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 lại. Sử dụng < 1.0 để vô hiệu hóa 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 tạo 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)
Moves conditional predictions further from unconditional ones.
  1. 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)
Moves unconditional predictions toward conditional ones, effectively suppressing negative features (e.g., "bad quality", "watermarks"). Equivalent in theory but more intuitive.

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

ClassifierFreeZeroStarGuidance

lớp diffusers.ClassifierFreeZeroStarGuidance

< >

( guidance_scale: float = 7.5zero_init_steps: int = 1guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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 bị đặ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. Điều 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.
  • use_original_formulation (bool, mặc định là False) — Có nên 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, một biến thể của hướng dẫn không có bộ phân loại. 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ỷ lệ 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

lớp diffusers.SkipLayerGuidance

< >

( guidance_scale: float = 7.5skip_layer_guidance_scale: float = 2.8skip_layer_guidance_start: float = 0.01skip_layer_guidance_stop: float = 0.2skip_layer_guidance_layers: int | list[int] | None = Noneskip_layer_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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. Tính 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 đó 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], 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. 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. Điều 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.
  • use_original_formulation (bool, mặc định là False) — Có nên 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 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 điều kiện và không điều kiện đã được sử dụng trong CFG ([~guiders.classifier_free_guidance.ClassifierFreeGuidance]), sau đó điều chỉnh tỷ lệ 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 điều kiện không bỏ qua và dự đoán đ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:

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 cho Stable Diffusion 3.5 Medium.

SmoothedEnergyGuidance

lớp diffusers.SmoothedEnergyGuidance

< >

( guidance_scale: float = 7.5seg_guidance_scale: float = 2.8seg_blur_sigma: float = 9999999.0seg_blur_threshold_inf: float = 9999.0seg_guidance_start: float = 0.0seg_guidance_stop: float = 1.0seg_guidance_layers: int | list[int] | None = Noneseg_guidance_config: SmoothedEnergyGuidanceConfig | list[SmoothedEnergyGuidanceConfig] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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, tức 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ệ số bước khử nhiễu tổng cộng 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ượt. Có thể là một SmoothedEnergyGuidanceConfig duy nhất 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. Điều 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.
  • use_original_formulation (bool, mặc định là False) — Có nên 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 lại với nhau như trong Flux)

PerturbedAttentionGuidance

lớp diffusers.PerturbedAttentionGuidance

< >

( guidance_scale: float = 7.5perturbed_guidance_scale: float = 2.8perturbed_guidance_start: float = 0.01perturbed_guidance_stop: float = 0.2perturbed_guidance_layers: int | list[int] | None = Noneperturbed_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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ệ số bước khử nhiễu tổng cộng 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ệ số bước khử nhiễu tổng cộng 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ú ý bị nhiễu. 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 hướng dẫn chú ý bị nhiễu. 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. Điều 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.
  • use_original_formulation (bool, mặc định là False) — Có nên 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:

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

lớp diffusers.AdaptiveProjectedGuidance

< >

( guidance_scale: float = 7.5adaptive_projected_guidance_momentum: float | None = Noneadaptive_projected_guidance_rescale: float = 15.0adaptive_projected_guidance_norm_dim: int | tuple[int, ...] | None = Noneeta: float = 1.0guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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 adaptive projected guidance. 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. Điều 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.
  • use_original_formulation (bool, mặc định là False) — Có nên 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ệ của 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

lớp diffusers.AutoGuidance

< >

( guidance_scale: float = 7.5auto_guidance_layers: int | list[int] | None = Noneauto_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Nonedropout: float | None = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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, tùy chọn) — 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. Điều 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.
  • use_original_formulation (bool, mặc định là False) — Có nên 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ệ của 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

lớp diffusers.TangentialClassifierFreeGuidance

< >

( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

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. Điều 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.
  • use_original_formulation (bool, mặc định là False) — Có nên 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ệ của 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

lớp diffusers.LTX2Guidance

< >

( guidance_scale: float = 1.0stg_scale: float = 0.0modality_scale: float = 1.0guidance_rescale: float = 0.0spatio_temporal_guidance_blocks: list[int] | None = Nonestart: float = 0.0stop: float = 1.0enabled: bool = True )

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 chế độ cho chế độ 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 tỷ lệ để 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. Phạm vi: 0.0 (không điều chỉnh tỷ lệ) đến 1.0 (điều chỉnh tỷ lệ hoàn toàn).
  • spatio_temporal_guidance_blocks (list[int], tuỳ chọn) — 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 hàm này và chuyển đổi 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.

Update on GitHub