Buckets:
| # 가이드 | |
| Guider는 Modular Diffusers에서 생성 중 확산 프로세스가 어떻게 유도되는지를 제어하는 구성 요소입니다. 생성 품질과 제어를 개선하기 위해 다양한 유도 기법을 구현합니다. | |
| ## BaseGuidance[[diffusers.BaseGuidance]] | |
| #### diffusers.BaseGuidance[[diffusers.BaseGuidance]] | |
| ```python | |
| diffusers.BaseGuidance(start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L38) | |
| 가이던스 기법을 구현하기 위한 골격을 제공하는 베이스 클래스. | |
| #### cleanup_models[[diffusers.BaseGuidance.cleanup_models]] | |
| ```python | |
| cleanup_models(denoiser: torch.nn.Module) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L160) | |
| 주어진 데이터 배치 이후 guidance 기법을 위한 모델들을 정리합니다. 이 메서드는 서브클래스에서 오버라이드하여 특정 모델 정리 로직을 구현해야 합니다. `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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L289) | |
| **매개변수:** | |
| pretrained_model_name_or_path (`str` 또는 `os.PathLike`, *선택 사항*) : 다음 중 하나일 수 있습니다. - Hub에 호스팅된 사전 학습 모델의 *모델 ID* 문자열(예: `google/ddpm-celebahq-256`). - [save_pretrained()](/docs/diffusers/main/ko/api/modular_diffusers/guiders#diffusers.BaseGuidance.save_pretrained)로 저장된 guider 구성이 포함된 *디렉터리* 경로(예: `./my_model_directory`). | |
| subfolder (`str`, *선택 사항*) : Hub 또는 로컬의 더 큰 모델 저장소 내에서 모델 파일의 서브폴더 위치입니다. | |
| return_unused_kwargs (`bool`, *선택 사항*, 기본값 `False`) : Python 클래스에서 소비되지 않는 kwargs를 반환할지 여부. | |
| cache_dir (`str | os.PathLike`, *선택 사항*) : 표준 캐시를 사용하지 않을 경우, 다운로드된 사전 학습 모델 구성이 캐시되는 디렉터리의 경로입니다. | |
| force_download (`bool`, *선택 사항*, 기본값 `False`) : 캐시된 버전이 존재하더라도 모델 가중치 및 구성 파일의 (재)다운로드를 강제할지 여부. | |
| proxies (`dict[str, str]`, *선택 사항*) : 프로토콜 또는 엔드포인트별로 사용할 프록시 서버의 사전입니다. 예를 들어, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`와 같습니다. 각 요청에 프록시가 사용됩니다. | |
| output_loading_info(`bool`, *선택 사항*, 기본값 `False`) : 누락된 키, 예상치 못한 키 및 오류 메시지가 포함된 사전도 함께 반환할지 여부. | |
| local_files_only(`bool`, *선택 사항*, 기본값 `False`) : 로컬 모델 가중치 및 구성 파일만 로드할지 여부입니다. `True`로 설정하면 Hub에서 모델을 다운로드하지 않습니다. | |
| token (`str` 또는 *bool*, *선택 사항*) : 원격 파일에 대한 HTTP bearer 인증으로 사용할 토큰입니다. `True`인 경우, `diffusers-cli login`에서 생성된 토큰(`~/.huggingface`에 저장됨)이 사용됩니다. | |
| revision (`str`, *선택 사항*, 기본값 `"main"`) : 사용할 특정 모델 버전입니다. Git에서 허용하는 브랜치 이름, 태그 이름, 커밋 ID 또는 기타 식별자일 수 있습니다. | |
| 로컬 디렉터리 또는 Hub 저장소의 사전 정의된 JSON 구성 파일에서 guider를 초기화합니다. | |
| > [!TIP] > 비공개 또는 [게이트된 모델](https://huggingface.co/docs/hub/models-gated#gated-models)을 사용하려면 로그인하세요 | |
| `hf > auth login`을(를) 통해 수행할 수 있습니다. 또한 방화벽이 있는 환경에서 이 방법을 사용하려면 특수한 ["오프라인 모드"](https://huggingface.co/diffusers/installation.html#offline-mode)를 활성화할 수도 있습니다. | |
| #### get_state[[diffusers.BaseGuidance.get_state]] | |
| ```python | |
| get_state() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L106) | |
| 가이던스 기법의 현재 상태를 딕셔너리로 반환합니다. 상태 변수는 __repr__ 메서드에 포함됩니다. 반환값: `dict[str, Any]`: 다음을 포함하는 현재 상태 변수의 딕셔너리: | |
| - step: 현재 추론 단계 | |
| - num_inference_steps: 총 추론 단계 수 | |
| - timestep: 현재 timestep 텐서 | |
| - count_prepared: prepare_models가 호출된 횟수 | |
| - enabled: 가이던스가 활성화되어 있는지 여부 | |
| - num_conditions: 조건 수 | |
| #### 새로 추가[[diffusers.BaseGuidance.new]] | |
| ```python | |
| new(**kwargs) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L69) | |
| **매개변수:** | |
| - ****kwargs** : 새 인스턴스에서 오버라이드할 구성 매개변수입니다. kwargs가 제공되지 않으면 동일한 구성을 가진 정확한 복사본을 반환합니다. | |
| **반환값:** | |
| 동일한(또는 업데이트된) 구성을 가진 새로운 guider 인스턴스. | |
| 이 guider 인스턴스의 사본을 생성하며, 선택적으로 수정된 구성 매개변수를 포함할 수 있습니다. | |
| 예: | |
| ```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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L153) | |
| 주어진 데이터 배치에 대해 guidance 기법을 적용하기 위해 모델을 준비합니다. 이 메서드는 서브클래스에서 오버라이드하여 특정 모델 준비 로직을 구현해야 합니다. | |
| #### save_pretrained[[diffusers.BaseGuidance.save_pretrained]] | |
| ```python | |
| save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L350) | |
| **매개변수:** | |
| save_directory (`str` 또는 `os.PathLike`) : 구성 JSON 파일을 저장할 디렉터리(존재하지 않으면 생성됨). | |
| push_to_hub (`bool`, *선택 사항*, 기본값 `False`) : 모델을 저장한 후 Hugging Face Hub에 푸시할지 여부입니다. `repo_id`를 사용하여 푸시할 저장소를 지정할 수 있습니다(기본값은 네임스페이스의 `save_directory` 이름입니다). | |
| kwargs (`dict[str, Any]`, *선택 사항*) : [push_to_hub()](/docs/diffusers/main/ko/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) 메서드에 함께 전달되는 추가 키워드 인자입니다. | |
| guider 구성 객체를 디렉토리에 저장하여 [from_pretrained()](/docs/diffusers/main/ko/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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/classifier_free_guidance.py#L30) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : 이 guider가 후처리 단계에서 적용하는 CFG scale입니다. 값이 높을수록 프롬프트 조건화가 강해지지만 품질이 저하될 수 있습니다. 일반적인 범위: 1.0-20.0. | |
| guidance_rescale (`float`, 기본값 `0.0`) : 높은 guidance scale로 인한 과노출을 방지하기 위한 재스케일링 계수입니다. [공통 디퓨전 노이즈 스케줄 및 샘플 스테프는 결함이 있습니다](https://huggingface.co/papers/2305.08891)에 기반합니다. 범위: 0.0(재스케일링 없음)에서 1.0(완전한 재스케일링)까지. | |
| use_original_formulation (`bool`, 기본값 `False`) : `True`인 경우, 논문에서 제시한 원래의 CFG 수식을 사용합니다. `False`(기본값)인 경우, Imagen 논문에서 제시한 diffusers 네이티브 수식을 사용합니다. | |
| start (`float`, 기본값 `0.0`) : CFG가 시작되는 디노이징 단계의 비율(0.0-1.0). 초기 디노이징 단계에서 CFG를 비활성화하려면 > 0.0을 사용하세요. | |
| stop (`float`, 기본값 `1.0`) : CFG가 중단되는 디노이징 단계의 비율(0.0-1.0). 후기 디노이징 단계에서 CFG를 비활성화하려면 1.0보다 작은 값을 사용하세요. | |
| enabled (`bool`, 기본값 `True`) : CFG가 활성화되어 있는지 여부입니다. CFG를 완전히 비활성화하려면 `False`로 설정하세요 (조건부 예측만 사용). | |
| 확산 모델에 Classifier-Free Guidance(CFG)를 구현합니다. | |
| 참고: https://huggingface.co/papers/2207.12598 | |
| CFG는 조건부 데이터와 무조건부 데이터 모두를 사용하여 모델을 함께 학습한 후, 추론 시 예측을 결합함으로써 생성 품질과 프롬프트 준수도를 향상시킵니다. 이를 통해 품질(높은 guidance)과 다양성(낮은 guidance) 사이의 트레이드오프를 조절할 수 있습니다. | |
| **두 가지 CFG 공식:** | |
| 1. **원래 공식** (논문에서): | |
| ``` | |
| x_pred = x_cond + guidance_scale * (x_cond - x_uncond) | |
| ``` | |
| 무조건적 예측에서 조건부 예측을 더 멀리 이동시킵니다. | |
| 2. **Diffusers 네이티브 공식** (기본값, Imagen 논문에서 가져옴): | |
| ``` | |
| x_pred = x_uncond + guidance_scale * (x_cond - x_uncond) | |
| ``` | |
| 무조건적 예측을 조건부 예측으로 이동시켜, 부정적 특징(예: "낮은 품질", "워터마크")을 효과적으로 억제합니다. 이론적으로는 동등하지만 더 직관적입니다. | |
| `use_original_formulation=True`를 사용하여 원래의 수식으로 전환합니다. | |
| ## 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/classifier_free_zero_star_guidance.py#L30) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : classifier-free guidance의 scale 매개변수입니다. 값이 높을수록 텍스트 프롬프트에 대한 조건화가 강해지고, 값이 낮을수록 생성에 더 많은 자유도가 부여됩니다. 값이 너무 높으면 포화 현상이 발생하거나 이미지 품질이 저하될 수 있습니다. | |
| zero_init_steps (`int`, 기본값 `1`) : 노이즈 예측을 0으로 설정하는 추론 단계 수 (4.2절 참조). | |
| guidance_rescale (`float`, defaults to `0.0`) : The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, 기본값 `False`) : 논문에서 제안한 classifier-free guidance의 원래 수식을 사용할지 여부입니다. 기본적으로 코드베이스에 오랫동안 존재해 온 diffusers 네이티브 구현을 사용합니다. 자세한 내용은 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]를 참조하세요. | |
| start (`float`, 기본값 `0.01`) : 전체 디노이징 단계 수 중 가이던스가 시작되는 비율. | |
| stop (`float`, 기본값 `0.2`) : 전체 디노이징 단계 수 중 가이던스가 중단되는 비율. | |
| Classifier-free Zero* (CFG-Zero*): https://huggingface.co/papers/2503.18886 | |
| 이것은 classifier-free guidance의 변형인 Classifier-Free Zero* guidance 기법의 구현입니다. 이 기법은 diffusion 과정의 초기 몇 단계에서 노이즈 예측값을 zero로 초기화하는 것을 제안하며, 노이즈 예측값에 대한 최적의 rescaling factor를 도입하여 생성된 이미지의 품질을 향상시키는 데 도움을 줄 수 있습니다. | |
| 해당 논문의 저자들은 추론 단계의 처음 4%에서 zero initialization을 설정하는 것을 제안합니다. | |
| ## 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/skip_layer_guidance.py#L32) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : classifier-free guidance의 scale 매개변수입니다. 값이 높을수록 텍스트 프롬프트에 대한 조건화가 강해지고, 값이 낮을수록 생성에 더 많은 자유도가 부여됩니다. 값이 너무 높으면 포화 현상이 발생하거나 이미지 품질이 저하될 수 있습니다. | |
| skip_layer_guidance_scale (`float`, 기본값 `2.8`) : skip layer guidance의 scale 매개변수입니다. 값이 높을수록 해부학적 구조와 구조적 일관성이 향상될 수 있지만, 과도한 노출과 포화 현상을 유발할 수도 있습니다. | |
| skip_layer_guidance_start (`float`, 기본값 `0.01`) : 전체 디노이징 단계 수 중 skip layer guidance가 시작되는 비율. | |
| skip_layer_guidance_stop (`float`, 기본값 `0.2`) : 전체 디노이징 단계 수 중 skip layer guidance가 중단되는 비율. | |
| skip_layer_guidance_layers (`int` 또는 `list[int]`, *선택 사항*) : skip layer guidance를 적용할 레이어 인덱스입니다. 단일 정수 또는 정수 목록일 수 있습니다. 제공되지 않으면 `skip_layer_config`를 제공해야 합니다. Stable Diffusion 3.5 Medium의 권장 값은 `[7, 8, 9]`입니다. | |
| skip_layer_config (`LayerSkipConfig` 또는 `list[LayerSkipConfig]`, *선택*) : skip layer guidance에 대한 설정입니다. 단일 `LayerSkipConfig` 또는 `LayerSkipConfig` 목록일 수 있습니다. 제공되지 않으면 `skip_layer_guidance_layers`를 제공해야 합니다. | |
| guidance_rescale (`float`, defaults to `0.0`) : The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, 기본값 `False`) : 논문에서 제안한 classifier-free guidance의 원래 수식을 사용할지 여부입니다. 기본적으로 코드베이스에 오랫동안 존재해 온 diffusers 네이티브 구현을 사용합니다. 자세한 내용은 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]를 참조하세요. | |
| start (`float`, 기본값 `0.01`) : 전체 디노이징 단계 수 중 가이던스가 시작되는 비율. | |
| stop (`float`, 기본값 `0.2`) : 전체 디노이징 단계 수 중 가이던스가 중단되는 비율. | |
| Skip Layer Guidance (SLG): https://github.com/Stability-AI/sd3.5 | |
| Spatio-Temporal Guidance (STG): https://huggingface.co/papers/2411.18664 | |
| SLG는 StabilityAI에 의해 생성된 이미지의 구조 및 해부학적 일관성을 개선하기 위해 도입되었습니다. 이는 이미 CFG([~guiders.classifier_free_guidance.ClassifierFreeGuidance])에서 사용 중인 조건부 및 무조건 배치 외에, 추가적인 조건부 데이터 배치에서 디노이징 과정 중 지정된 transformer 블록의 forward pass를 건너뛰는 방식으로 작동합니다. 그런 다음, 건너뛰지 않은 조건부 예측과 건너뛴 조건부 예측 간의 차이를 기반으로 CFG 예측을 스케일링 및 시프트합니다. | |
| SLG의 직관은 조건부 분포 추정치의 더 나쁜 버전(레이어를 건너뛰는 것은 조건부 예측에 더 나쁜 버전의 모델을 사용하는 것과 동등하므로)으로부터 CFG 예측 분포 추정치를 더 멀리 이동시키는 것으로 이해할 수 있습니다. | |
| STG는 비디오 확산 모델의 생성 품질을 개선하기 위해 SLG, PAG 및 유사한 기법의 아이디어를 결합한 개선 및 후속 작업입니다. | |
| 추가 참고 자료: | |
| - [자기 자신의 나쁜 버전으로 Diffusion Model을 유도하기](https://huggingface.co/papers/2406.02507) | |
| `skip_layer_guidance_scale`, `skip_layer_guidance_start`, `skip_layer_guidance_stop`의 값은 StabilityAI가 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/smoothed_energy_guidance.py#L32) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : classifier-free guidance의 scale 매개변수입니다. 값이 높을수록 텍스트 프롬프트에 대한 조건화가 강해지고, 값이 낮을수록 생성에 더 많은 자유도가 부여됩니다. 값이 너무 높으면 포화 현상이 발생하거나 이미지 품질이 저하될 수 있습니다. | |
| seg_guidance_scale (`float`, 기본값 `3.0`) : smoothed energy guidance의 scale 매개변수입니다. 값이 높을수록 해부학적 구조와 구조적 일관성이 향상될 수 있지만, 과도한 노출과 포화 현상을 유발할 수도 있습니다. | |
| seg_blur_sigma (`float`, 기본값 `9999999.0`) : attention weights를 흐리게 만드는 정도입니다. 이 값을 9999.0보다 크게 설정하면 무한한 블러가 발생하며, 이는 균일한 queries를 의미합니다. 지수적으로 제어하는 것이 경험적으로 효과적입니다. | |
| 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]`, *선택 사항*) : smoothed energy guidance를 적용할 레이어 인덱스입니다. 단일 정수 또는 정수 목록으로 지정할 수 있습니다. 제공되지 않으면 `seg_guidance_config`를 제공해야 합니다. Stable Diffusion 3.5 Medium의 경우 권장 값은 `[7, 8, 9]`입니다. | |
| seg_guidance_config (`SmoothedEnergyGuidanceConfig` 또는 `list[SmoothedEnergyGuidanceConfig]`, *선택 사항*) : smoothed energy layer guidance에 대한 설정입니다. 단일 `SmoothedEnergyGuidanceConfig` 또는 `SmoothedEnergyGuidanceConfig` 목록일 수 있습니다. 제공되지 않으면 `seg_guidance_layers`를 제공해야 합니다. | |
| guidance_rescale (`float`, defaults to `0.0`) : The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, 기본값 `False`) : 논문에서 제안한 classifier-free guidance의 원래 수식을 사용할지 여부입니다. 기본적으로 코드베이스에 오랫동안 존재해 온 diffusers 네이티브 구현을 사용합니다. 자세한 내용은 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]를 참조하세요. | |
| start (`float`, 기본값 `0.01`) : 전체 디노이징 단계 수 중 가이던스가 시작되는 비율. | |
| stop (`float`, 기본값 `0.2`) : 전체 디노이징 단계 수 중 가이던스가 중단되는 비율. | |
| Smoothed Energy Guidance (SEG): https://huggingface.co/papers/2408.00760 | |
| SEG는 현재 실험적 프로토타입 기능으로만 지원되므로, 향후 사전 통보나 재현 가능성 보장 없이 구현이 변경될 수 있습니다. 이 구현은 다음을 가정합니다: | |
| - 생성된 이미지는 정사각형(높이 == 너비)입니다 | |
| - 모델은 서로 다른 모달리티를 결합하지 않습니다(예: 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/perturbed_attention_guidance.py#L36) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : classifier-free guidance의 scale 매개변수입니다. 값이 높을수록 텍스트 프롬프트에 대한 조건화가 강해지고, 값이 낮을수록 생성에 더 많은 자유도가 부여됩니다. 값이 너무 높으면 포화 현상이 발생하거나 이미지 품질이 저하될 수 있습니다. | |
| perturbed_guidance_scale (`float`, 기본값 `2.8`) : perturbed attention guidance의 scale 매개변수입니다. | |
| perturbed_guidance_start (`float`, 기본값 `0.01`) : 전체 디노이징 단계 수 중, 교란된 어텐션 가이던스가 시작되는 비율. | |
| perturbed_guidance_stop (`float`, 기본값 `0.2`) : 전체 디노이징 단계 수 중, 이 비율 이후에 perturbed attention guidance가 중단됩니다. | |
| perturbed_guidance_layers (`int` 또는 `list[int]`, *선택 사항*) : Perturbed attention guidance를 적용할 레이어 인덱스입니다. 단일 정수 또는 정수 목록일 수 있습니다. 제공되지 않으면 `perturbed_guidance_config`를 제공해야 합니다. | |
| perturbed_guidance_config (`LayerSkipConfig` 또는 `list[LayerSkipConfig]`, *선택 사항*) : perturbed attention guidance에 대한 설정입니다. 단일 `LayerSkipConfig` 또는 `LayerSkipConfig` 목록일 수 있습니다. 제공되지 않으면 `perturbed_guidance_layers`를 제공해야 합니다. | |
| guidance_rescale (`float`, 기본값 `0.0`) : 노이즈 예측에 적용되는 재스케일 계수입니다. 이는 이미지 품질을 개선하고 과도한 노출을 수정하는 데 사용됩니다. [공통 디퓨전 노이즈 스케줄과 샘플 단계는 결함이 있다](https://huggingface.co/papers/2305.08891)의 3.4절을 기반으로 합니다. | |
| use_original_formulation (`bool`, 기본값 `False`) : 논문에서 제안한 classifier-free guidance의 원래 수식을 사용할지 여부입니다. 기본적으로 코드베이스에 오랫동안 존재해 온 diffusers 네이티브 구현을 사용합니다. 자세한 내용은 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]를 참조하세요. | |
| start (`float`, 기본값 `0.01`) : 전체 디노이징 단계 수 중 가이던스가 시작되는 비율. | |
| stop (`float`, 기본값 `0.2`) : 전체 디노이징 단계 수 중 가이던스가 중단되는 비율. | |
| Perturbed Attention Guidance (PAG): https://huggingface.co/papers/2403.17377 | |
| PAG의 직관은 CFG가 예측한 분포 추정치를 조건부 분포 추정치의 더 나쁜 버전에서 더 멀리 이동시키는 것으로 이해할 수 있습니다. PAG는 노이즈 제거 과정에서 더 나은 자기 유도(self-guiding)를 위해 학습된 모델의 더 나쁜 버전을 사용하는 아이디어를 도입한 최초의 기법 중 하나였습니다. PAG는 선택적으로 선택된 레이어에서 점수 행렬을 항등 행렬로 대체하여 잠재 스트림의 어텐션 점수를 교란시킵니다. | |
| 추가 참고 자료: | |
| - [자기 자신의 나쁜 버전으로 Diffusion Model을 유도하기](https://huggingface.co/papers/2406.02507) | |
| PAG는 구성 매개변수와 구현 세부 사항이 SkipLayerGuidance와 겹치기 때문에 유사한 방식으로 구현됩니다. | |
| ## 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/adaptive_projected_guidance.py#L30) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : classifier-free guidance의 scale 매개변수입니다. 값이 높을수록 텍스트 프롬프트에 대한 조건화가 강해지고, 값이 낮을수록 생성에 더 많은 자유도가 부여됩니다. 값이 너무 높으면 포화 현상이 발생하거나 이미지 품질이 저하될 수 있습니다. | |
| adaptive_projected_guidance_momentum (`float`, 기본값 `None`) : 적응형 투영 가이던스의 모멘텀 매개변수입니다. `None`으로 설정하면 비활성화됩니다. | |
| adaptive_projected_guidance_rescale (`float`, 기본값 `15.0`) : 노이즈 예측에 적용되는 재스케일 계수입니다. 이는 이미지 품질을 개선하고 | |
| adaptive_projected_guidance_norm_dim (`int` 또는 `tuple[int]`, *선택 사항*) : APG 노름과 투영을 계산할 차원. 생략하면 원래 동작을 유지하면서 모든 배치 외 차원이 사용됩니다. | |
| guidance_rescale (`float`, 기본값 `0.0`) : 노이즈 예측에 적용되는 재스케일 계수입니다. 이는 이미지 품질을 개선하고 과도한 노출을 수정하는 데 사용됩니다. [공통 확산 노이즈 스케줄 및 샘플 단계는 결함이 있습니다](https://huggingface.co/papers/2305.08891)의 3.4절을 기반으로 합니다. | |
| use_original_formulation (`bool`, 기본값 `False`) : 논문에서 제안한 classifier-free guidance의 원래 수식을 사용할지 여부입니다. 기본적으로 코드베이스에 오랫동안 존재해 온 diffusers 네이티브 구현을 사용합니다. 자세한 내용은 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]를 참조하세요. | |
| start (`float`, 기본값 `0.0`) : 전체 디노이징 단계 수 중 가이던스가 시작되는 비율. | |
| stop (`float`, 기본값 `1.0`) : 전체 디노이징 단계 수 중 가이던스가 중단되는 비율. | |
| 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/auto_guidance.py#L32) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : classifier-free guidance의 scale 매개변수입니다. 값이 높을수록 텍스트 프롬프트에 대한 조건화가 강해지고, 값이 낮을수록 생성에 더 많은 자유도가 부여됩니다. 값이 너무 높으면 포화 현상이 발생하거나 이미지 품질이 저하될 수 있습니다. | |
| auto_guidance_layers (`int` 또는 `list[int]`, *선택 사항*) : skip layer guidance를 적용할 레이어 인덱스입니다. 단일 정수 또는 정수 목록일 수 있습니다. 제공되지 않으면 `skip_layer_config`를 제공해야 합니다. | |
| auto_guidance_config (`LayerSkipConfig` 또는 `list[LayerSkipConfig]`, *선택*) : skip layer guidance에 대한 설정입니다. 단일 `LayerSkipConfig` 또는 `LayerSkipConfig` 목록일 수 있습니다. 제공되지 않으면 `skip_layer_guidance_layers`를 제공해야 합니다. | |
| dropout (`float`, *선택 사항*) : 활성화된 스킵 레이어(즉, `auto_guidance_layers` 또는 `auto_guidance_config`를 통해 지정된 레이어)에 대한 autoguidance의 dropout 확률입니다. 값을 제공하지 않으면 dropout 확률은 1.0으로 설정됩니다. | |
| guidance_rescale (`float`, 기본값 `0.0`) : 노이즈 예측에 적용되는 재스케일 계수입니다. 이는 이미지 품질을 개선하고 과도한 노출을 수정하는 데 사용됩니다. [공통 디퓨전 노이즈 스케줄과 샘플 단계는 결함이 있다](https://huggingface.co/papers/2305.08891)의 3.4절을 기반으로 합니다. | |
| use_original_formulation (`bool`, 기본값 `False`) : 논문에서 제안한 classifier-free guidance의 원래 수식을 사용할지 여부입니다. 기본적으로 코드베이스에 오랫동안 존재해 온 diffusers 네이티브 구현을 사용합니다. 자세한 내용은 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]를 참조하세요. | |
| start (`float`, 기본값 `0.0`) : 전체 디노이징 단계 수 중 가이던스가 시작되는 비율. | |
| stop (`float`, 기본값 `1.0`) : 전체 디노이징 단계 수 중 가이던스가 중단되는 비율. | |
| 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/tangential_classifier_free_guidance.py#L30) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `7.5`) : classifier-free guidance의 scale 매개변수입니다. 값이 높을수록 텍스트 프롬프트에 대한 조건화가 강해지고, 값이 낮을수록 생성에 더 많은 자유도가 부여됩니다. 값이 너무 높으면 포화 현상이 발생하거나 이미지 품질이 저하될 수 있습니다. | |
| guidance_rescale (`float`, 기본값 `0.0`) : 노이즈 예측에 적용되는 재스케일 계수입니다. 이는 이미지 품질을 개선하고 과도한 노출을 수정하는 데 사용됩니다. [공통 디퓨전 노이즈 스케줄과 샘플 단계는 결함이 있다](https://huggingface.co/papers/2305.08891)의 3.4절을 기반으로 합니다. | |
| use_original_formulation (`bool`, 기본값 `False`) : 논문에서 제안한 classifier-free guidance의 원래 수식을 사용할지 여부입니다. 기본적으로 코드베이스에 오랫동안 존재해 온 diffusers 네이티브 구현을 사용합니다. 자세한 내용은 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]를 참조하세요. | |
| start (`float`, 기본값 `0.0`) : 전체 디노이징 단계 수 중 가이던스가 시작되는 비율. | |
| stop (`float`, 기본값 `1.0`) : 전체 디노이징 단계 수 중 가이던스가 중단되는 비율. | |
| 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/ltx2_guidance.py#L28) | |
| **매개변수:** | |
| guidance_scale (`float`, 기본값 `1.0`) : 해당 모달리티의 CFG scale입니다. `1.0`인 경우 CFG pass가 완전히 건너뜁니다. | |
| stg_scale (`float`, 기본값 `0.0`) : 해당 모달리티의 시공간 가이던스 스케일입니다. `0.0`인 경우 STG 패스가 완전히 건너뜁니다. | |
| modality_scale (`float`, 기본값 `1.0`) : 해당 모달리티의 모달리티 격리 가이던스 스케일입니다. `1.0`인 경우 해당 패스가 완전히 건너뜁니다. | |
| guidance_rescale (`float`, 기본값 `0.0`) : 높은 guidance scale로 인한 과노출을 방지하기 위한 재스케일링 계수입니다. [공통 디퓨전 노이즈 스케줄 및 샘플 스테프는 결함이 있습니다](https://huggingface.co/papers/2305.08891)에 기반합니다. 범위: 0.0(재스케일링 없음)에서 1.0(완전한 재스케일링)까지. | |
| spatio_temporal_guidance_blocks (`list[int]`, *선택 사항*) : STG 패스에서 교란할 Transformer 블록입니다. 값의 사용 방식은 denoiser 블록에 따라 달라집니다. LTX-2는 모든 모달리티를 공급하는 단일 forward에서 전체 블록을 교란하므로, 이 값을 video guider에서만 읽습니다. audio guider에 설정해도 효과가 없으며, 해당 guider는 자체 `stg_scale`을 통해 동일한 STG forward에 참여합니다. | |
| start (`float`, 기본값 `0.0`) : 가이던스가 시작되는 디노이징 단계의 비율(0.0-1.0). | |
| stop (`float`, 기본값 `1.0`) : 가이던스가 중단되는 디노이징 단계의 비율(0.0-1.0). | |
| enabled (`bool`, 기본값 `True`) : 이 guider가 가이던스를 적용할지 여부입니다. `False`인 경우 조건부 패스만 실행됩니다. | |
| LTX-2.X용 단일 모달리티 guider입니다. 델타 형식을 통해 최대 3개의 용어를 결합합니다: | |
| - classifier-free guidance (CFG), | |
| - 공간-시간 가이던스(STG), 즉 변형된 트랜스포머 블록 세트로 추가 패스를 수행하는 기법 | |
| - modality-isolation guidance, A2V/V2A cross-attention을 비활성화한 추가 패스 | |
| 하나의 인스턴스가 하나의 모달리티를 처리하므로, 멀티모달 체크포인트에는 여러 인스턴스가 포함됩니다. LTX-2.X는 비디오 `guider`와 `audio_guider`를 페어링하며, 각각은 자체 스케일을 보유합니다. 최종 가이던스 추정값은 호출자가 입력하는 공간에서 계산됩니다. LTX-2 디노이저는 이 함수를 호출하기 전에 velocity->x0로 변환하고, 호출 후에는 다시 원래 공간으로 변환하므로 `forward`는 x0 예측값을 대상으로 동작합니다. | |
| `SkipLayerGuidance`는 훅을 통해 교란을 적용하는 반면, `LTX2Guidance`는 비-CFG 교란이 모델의 forward 인수를 통해 구성되도록 기대합니다(`LTX2VideoTransformer3DModel`의 `spatio_temporal_guidance_blocks` 및 `isolate_modalities`). 호출하는 denoiser 블록이 패스별 식별자를 설정하는 책임을 집니다. 사용 예는 `LTX2LoopDenoiser`를 참고하세요. | |
Xet Storage Details
- Size:
- 36.6 kB
- Xet hash:
- 008e6fc2ae250fb1e2a80731998474440b0f71da329f897349feb959dab586e6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.