Improve documentation of conditioning_data.py.

This commit is contained in:
Ryan Dick 2024-03-08 11:55:01 -05:00
parent 8923289b89
commit b76bb45104

View File

@ -8,6 +8,10 @@ from .cross_attention_control import Arguments
@dataclass @dataclass
class ExtraConditioningInfo: class ExtraConditioningInfo:
"""Extra conditioning information produced by Compel.
This is used for prompt-to-prompt cross-attention control (a.k.a. `.swap()` in Compel).
"""
tokens_count_including_eos_bos: int tokens_count_including_eos_bos: int
cross_attention_control_args: Optional[Arguments] = None cross_attention_control_args: Optional[Arguments] = None
@ -18,6 +22,8 @@ class ExtraConditioningInfo:
@dataclass @dataclass
class BasicConditioningInfo: class BasicConditioningInfo:
"""SD 1/2 text conditioning information produced by Compel."""
embeds: torch.Tensor embeds: torch.Tensor
extra_conditioning: Optional[ExtraConditioningInfo] extra_conditioning: Optional[ExtraConditioningInfo]
@ -33,6 +39,8 @@ class ConditioningFieldData:
@dataclass @dataclass
class SDXLConditioningInfo(BasicConditioningInfo): class SDXLConditioningInfo(BasicConditioningInfo):
"""SDXL text conditioning information produced by Compel."""
pooled_embeds: torch.Tensor pooled_embeds: torch.Tensor
add_time_ids: torch.Tensor add_time_ids: torch.Tensor
@ -58,14 +66,11 @@ class IPAdapterConditioningInfo:
class TextConditioningData: class TextConditioningData:
unconditioned_embeddings: BasicConditioningInfo unconditioned_embeddings: BasicConditioningInfo
text_embeddings: BasicConditioningInfo text_embeddings: BasicConditioningInfo
""" # Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).
Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). # `guidance_scale` is defined as `w` of equation 2. of [Imagen Paper](https://arxiv.org/pdf/2205.11487.pdf).
`guidance_scale` is defined as `w` of equation 2. of [Imagen Paper](https://arxiv.org/pdf/2205.11487.pdf). # Guidance scale is enabled by setting `guidance_scale > 1`. Higher guidance scale encourages to generate
Guidance scale is enabled by setting `guidance_scale > 1`. Higher guidance scale encourages to generate # images that are closely linked to the text `prompt`, usually at the expense of lower image quality.
images that are closely linked to the text `prompt`, usually at the expense of lower image quality.
"""
guidance_scale: Union[float, List[float]] guidance_scale: Union[float, List[float]]
""" for models trained using zero-terminal SNR ("ztsnr"), it's suggested to use guidance_rescale_multiplier of 0.7 . # For models trained using zero-terminal SNR ("ztsnr"), it's suggested to use guidance_rescale_multiplier of 0.7.
ref [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://arxiv.org/pdf/2305.08891.pdf) # See [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://arxiv.org/pdf/2305.08891.pdf).
"""
guidance_rescale_multiplier: float = 0 guidance_rescale_multiplier: float = 0