Buckets:
| # AutoencoderKLCogVideoX | |
| The 3D variational autoencoder (VAE) model with KL loss used in [CogVideoX](https://github.com/THUDM/CogVideo) was introduced in [CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer](https://huggingface.co/papers/2408.06072) by Tsinghua University & ZhipuAI. | |
| Модель можно загрузить с помощью следующего фрагмента кода. | |
| ```python | |
| from diffusers import AutoencoderKLCogVideoX | |
| vae = AutoencoderKLCogVideoX.from_pretrained("THUDM/CogVideoX-2b", subfolder="vae", dtype=torch.float16).to("cuda") # or "mps", "xpu", "cpu" | |
| ``` | |
| ## AutoencoderKLCogVideoX[[diffusers.AutoencoderKLCogVideoX]] | |
| #### diffusers.AutoencoderKLCogVideoX[[diffusers.AutoencoderKLCogVideoX]] | |
| ```python | |
| diffusers.AutoencoderKLCogVideoX(in_channels: int = 3, out_channels: int = 3, down_block_types: tuple[str] = ('CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D'), up_block_types: tuple[str] = ('CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D'), block_out_channels: tuple[int] = (128, 256, 256, 512), latent_channels: int = 16, layers_per_block: int = 3, act_fn: str = 'silu', norm_eps: float = 1e-06, norm_num_groups: int = 32, temporal_compression_ratio: float = 4, sample_height: int = 480, sample_width: int = 720, scaling_factor: float = 1.15258426, shift_factor: float | None = None, latents_mean: tuple[float] | None = None, latents_std: tuple[float] | None = None, force_upcast: float = True, use_quant_conv: bool = False, use_post_quant_conv: bool = False, invert_scale_latents: bool = False) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_cogvideox.py#L958) | |
| **Параметры:** | |
| in_channels (int, *необязательный*, по умолчанию 3) : Количество каналов во входном изображении. | |
| out_channels (int, *optional*, по умолчанию 3) : Количество каналов на выходе. | |
| down_block_types (`tuple[str]`, *необязательный*, по умолчанию `("DownEncoderBlock2D",)`) : кортеж типов блоков даунсемплинга. | |
| up_block_types (`tuple[str]`, *необязательный*, по умолчанию `("UpDecoderBlock2D",)`) : кортеж типов блоков апсемплинга. | |
| block_out_channels (`tuple[int]`, *необязательный*, по умолчанию `(64,)`) : кортеж каналов вывода блоков. | |
| act_fn (`str`, *необязательный*, по умолчанию `"silu"`) : Функция активации, которую следует использовать. | |
| sample_size (`int`, *необязательный*, по умолчанию `32`) : Размер входной выборки. | |
| scaling_factor (`float`, *optional*, по умолчанию `1.15258426`) : Стандартное отклонение обученного латентного пространства, вычисленное покомпонентно на основе первой выборки обучающей выборки. Используется для масштабирования латентного пространства до единичной дисперсии при обучении диффузионной модели. Перед передачей в диффузионную модель латенты масштабируются по формуле `z = z * scaling_factor`. При декодировании латенты возвращаются к исходному масштабу по формуле: `z = 1 / scaling_factor * z`. Дополнительные сведения см. в разделах 4.3.2 и D.1 статьи [High-Resolution Image Synthesis with Latent Diffusion Models](https://huggingface.co/papers/2112.10752). | |
| force_upcast (`bool`, *необязательный*, по умолчанию `True`) : Если включено, VAE будет принудительно работать в float32 для пайплайнов с высоким разрешением изображений, таких как SD-XL. VAE можно дообучить или обучить для работы в более низком диапазоне без значительной потери точности, в этом случае `force_upcast` можно установить в `False` — см.: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix | |
| Модель VAE с потерей KL для кодирования изображений в латенты и декодирования латентных представлений в изображения. Используется в [CogVideoX](https://github.com/THUDM/CogVideo). | |
| Эта модель наследуется от [ModelMixin](/docs/diffusers/main/ru/api/models/overview#diffusers.ModelMixin). См. документацию суперкласса для его универсальных методов, реализованных для всех моделей (например, загрузка или сохранение). | |
| #### decode[[diffusers.AutoencoderKLCogVideoX.decode]] | |
| ```python | |
| decode(z: Tensor, return_dict: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_cogvideox.py#L1209) | |
| **Параметры:** | |
| z (`torch.Tensor`) : Входная партия латентных векторов. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.vae.DecoderOutput` вместо обычного кортежа. | |
| **Возвращает:** `~models.vae.DecoderOutput` или `tuple` | |
| Если return_dict равно True, возвращается `~models.vae.DecoderOutput`, иначе возвращается обычный `tuple`. | |
| Декодировать пакет изображений. | |
| #### encode[[diffusers.AutoencoderKLCogVideoX.encode]] | |
| ```python | |
| encode(x: Tensor, return_dict: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_cogvideox.py#L1153) | |
| **Параметры:** | |
| x (`torch.Tensor`) : Входная партия изображений. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.autoencoder_kl.AutoencoderKLOutput` вместо обычного кортежа. | |
| **Возвращает:** | |
| Латентные представления закодированных видео. Если `return_dict` равно True, возвращается `~models.autoencoder_kl.AutoencoderKLOutput`, в противном случае возвращается обычный `tuple`. | |
| Кодирует пакет изображений в латенты. | |
| #### enable_tiling[[diffusers.AutoencoderKLCogVideoX.enable_tiling]] | |
| ```python | |
| enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_overlap_factor_height: float | None = None, tile_overlap_factor_width: float | None = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_cogvideox.py#L1091) | |
| **Параметры:** | |
| tile_sample_min_height (`int`, *optional*) : минимальная высота, необходимая для того, чтобы образец был разделён на плитки по оси высоты. | |
| tile_sample_min_width (`int`, *optional*) : Минимальная ширина, необходимая для того, чтобы образец был разделён на плитки по размерности ширины. | |
| tile_overlap_factor_height (`int`, *optional*) : Минимальное перекрытие между двумя последовательными вертикальными тайлами. Это необходимо для того, чтобы избежать артефактов тайлинга вдоль вертикальной оси. Значение должно находиться в диапазоне от 0 до 1. Установка более высокого значения может привести к обработке большего количества тайлов и замедлению процесса декодирования. | |
| tile_overlap_factor_width (`int`, *optional*) : Минимальная величина перекрытия между двумя соседними горизонтальными тайлами. Это необходимо для того, чтобы избежать артефактов тайлинга вдоль ширины. Значение должно находиться в диапазоне от 0 до 1. Установка более высокого значения может привести к обработке большего количества тайлов, что замедлит процесс декодирования. | |
| Включает тайловое декодирование VAE. При включении этого параметра VAE разбивает входной тензор на тайлы для выполнения декодирования и кодирования в несколько шагов. Это полезно для экономии значительного объёма памяти и для обработки изображений большего размера. | |
| #### forward[[diffusers.AutoencoderKLCogVideoX.forward]] | |
| ```python | |
| forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_cogvideox.py#L1407) | |
| **Параметры:** | |
| sample (`torch.Tensor`) : Входящий образец. | |
| sample_posterior (`bool`, *необязательный*, по умолчанию `False`) : Флаг, определяющий, следует ли выполнять выборку из апостериорного распределения. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `DecoderOutput` вместо обычного кортежа. | |
| generator (`torch.Generator`, *необязательный*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) для обеспечения детерминированности выборки. | |
| **Возвращает:** `~models.vae.DecoderOutput` или `tuple` | |
| Если `return_dict` равно True, возвращается `~models.vae.DecoderOutput`, иначе возвращается обычный `tuple`. | |
| #### tiled_decode[[diffusers.AutoencoderKLCogVideoX.tiled_decode]] | |
| ```python | |
| tiled_decode(z: Tensor, return_dict: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_cogvideox.py#L1324) | |
| **Параметры:** | |
| z (`torch.Tensor`) : Входная партия латентных векторов. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.vae.DecoderOutput` вместо обычного кортежа. | |
| **Возвращает:** `~models.vae.DecoderOutput` или `tuple` | |
| Если return_dict равно True, возвращается `~models.vae.DecoderOutput`, иначе возвращается обычный `tuple`. | |
| Декодирование пакета изображений с использованием тайлованного декодера. | |
| #### tiled_encode[[diffusers.AutoencoderKLCogVideoX.tiled_encode]] | |
| ```python | |
| tiled_encode(x: Tensor) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_cogvideox.py#L1250) | |
| **Параметры:** | |
| x (`torch.Tensor`) : Входная партия видео. | |
| **Возвращает:** `torch.Tensor` | |
| Латентное представление закодированных видео. | |
| Кодирует пакет изображений с использованием тайлованного энкодера. | |
| Когда эта опция включена, VAE разбивает входной тензор на тайлы, чтобы вычислить кодирование за несколько шагов. Это полезно для поддержания постоянного потребления памяти независимо от размера изображения. Итоговый результат тайлового кодирования отличается от нетайлового, поскольку каждый тайл использует отдельный энкодер. Чтобы избежать артефактов на границах тайлов, они перекрываются и смешиваются для формирования плавного вывода. Вы всё ещё можете заметить изменения в выводе размером с тайл, но они должны быть значительно менее заметными. | |
| ## AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]] | |
| #### diffusers.models.modeling_outputs.AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]] | |
| ```python | |
| diffusers.models.modeling_outputs.AutoencoderKLOutput(latent_dist: DiagonalGaussianDistribution) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L7) | |
| **Параметры:** | |
| latent_dist (`DiagonalGaussianDistribution`) : Закодированные выходные данные `Encoder`, представленные в виде среднего и logvar распределения `DiagonalGaussianDistribution`. `DiagonalGaussianDistribution` позволяет извлекать латентные переменные из этого распределения. | |
| Результат метода кодирования AutoencoderKL. | |
| ## DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]] | |
| #### diffusers.models.autoencoders.vae.DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]] | |
| ```python | |
| diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/vae.py#L49) | |
| **Параметры:** | |
| sample (`torch.Tensor` формы `(batch_size, num_channels, height, width)`) : Декодированный вывод из последнего слоя модели. | |
| Результат метода декодирования. | |
Xet Storage Details
- Size:
- 15.2 kB
- Xet hash:
- 5800a4c14f397bf5a3095a6dabd99fd118cf9c188883c782ae79a4befea42a45
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.