Buckets:
AutoencoderKLPH3Image
Изображение VAE для P-H3-Image от Pruna AI. Используется энкодер и латентное пространство видео VAE MiniMax-H3, а также декодер ViT, который декодирует один латентный кадр в изображение.
Она следует соглашениям AutoencoderKLMiniMaxH3:
- Изображения передаются как однокадровые видео,
(batch_size, channels, 1, height, width), с пространственным сжатием 16x. - Латенты нормализуются по каналам с помощью
latents_mean/latents_std, а неscaling_factor. - Пиксели — это RGB, нормализованные по ImageNet в диапазоне
[0, 1]:encodeожидает(pixel - imagenet_mean) / imagenet_std, аdecodeвозвращает значения в этом пространстве. - Пространственная тайловая обработка включена по умолчанию, с тайлами размером 256 пикселей и перекрытием не менее 64 пикселей.
import torch
from diffusers import AutoencoderKLPH3Image
vae = AutoencoderKLPH3Image.from_pretrained("PrunaAI/P-H3-Image", subfolder="vae", dtype=torch.bfloat16).to(
"cuda"
) # or "mps", "xpu", "cpu"
Выходные проекции энкодера и декодера остаются в float32 независимо от того, в каком dtype загружена модель.
AutoencoderKLPH3Image[[diffusers.AutoencoderKLPH3Image]]
diffusers.AutoencoderKLPH3Image[[diffusers.AutoencoderKLPH3Image]]
diffusers.AutoencoderKLPH3Image(in_channels: int = 3, out_channels: int = 3, latent_channels: int = 24, block_out_channels: tuple[int, ...] = (128, 256, 256, 512, 512, 1024), layers_per_block: int = 2, spatial_downsample_factors: tuple[int, ...] = (2, 2, 2, 2, 1, 1), temporal_downsample_factors: tuple[int, ...] = (1, 2, 2, 1, 1, 1), norm_num_groups: int = 32, norm_eps: float = 1e-06, spatial_padding_mode: str = 'reflect', decoder_num_layers: int = 36, decoder_num_attention_heads: int = 32, decoder_attention_head_dim: int = 64, decoder_num_register_tokens: int = 4, decoder_ffn_mult: int = 4, decoder_rope_theta: float = 100.0, decoder_rope_dim_ratio: float = 0.75, decoder_norm_eps: float = 1e-05, latents_mean: tuple[float, ...] = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), latents_std: tuple[float, ...] = (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0))
VAE изображений для P-H3-Image: VAE-энкодер и латентное пространство MiniMax-H3, с PH3ImageViTDecoder, который декодирует один латентный кадр.
Изображения передаются как однокадровые видео, (batch_size, channels, 1, height, width). Как и в AutoencoderKLMiniMaxH3, пиксели представляют собой нормализованные по ImageNet RGB-значения в диапазоне [0, 1] (среднее (0.485, 0.456, 0.406), стандартное отклонение (0.229, 0.224, 0.225)), а пространственная тайловая обработка включена по умолчанию.
encode[[diffusers.AutoencoderKLPH3Image.encode]]
encode(x: Tensor, return_dict: bool = True)
Параметры:
x (torch.Tensor) : Входная партия изображений в виде однокадровых видео, форма (batch_size, in_channels, 1, height, width).
return_dict (bool, необязательный, по умолчанию True) : следует ли возвращать AutoencoderKLOutput вместо обычного кортежа.
Возвращает:
Скрытое распределение закодированных изображений. Обратите внимание, что скрытые переменные впоследствии нормализуются с помощью latents_mean / latents_std.
Кодирует пакет изображений в латенты.
decode[[diffusers.AutoencoderKLPH3Image.decode]]
decode(z: Tensor, return_dict: bool = True)
Параметры:
z (torch.Tensor) : Входная батч латентов, форма (batch_size, latent_channels, 1, height, width).
return_dict (bool, необязательный, по умолчанию True) : Нужно ли возвращать DecoderOutput вместо обычного кортежа.
Возвращает: DecoderOutput или tuple
Декодированные изображения, форма (batch_size, out_channels, 1, height, width).
Декодировать пакет латентных изображений.
enable_tiling[[diffusers.AutoencoderKLPH3Image.enable_tiling]]
enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_sample_min_overlap_height: int | None = None, tile_sample_min_overlap_width: int | None = None)
Параметры:
tile_sample_min_height (int, optional) : Высота тайла в пиксельном пространстве. Кадры, высота которых превышает это значение, разбиваются по вертикали.
tile_sample_min_width (int, optional) : Ширина тайла в пиксельном пространстве. Кадры, шире этого значения, разбиваются по ширине.
tile_sample_min_overlap_height (int, optional) : Минимальное перекрытие, в пикселях, между двумя последовательными вертикальными тайлами.
tile_sample_min_overlap_width (int, optional) : Минимальное перекрытие, в пикселях, между двумя последовательными горизонтальными тайлами.
Включает тайловое кодирование/декодирование VAE. При включении этого параметра VAE разбивает кадры на тайлы, кодирует или декодирует каждый тайл отдельно и линейно смешивает области перекрытия обратно. Это снижает требования к памяти и позволяет обрабатывать кадры большего размера.
forward[[diffusers.AutoencoderKLPH3Image.forward]]
forward(sample: Tensor, sample_posterior: bool = False, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True)
Параметры:
sample (torch.Tensor) : Входная партия изображений в виде однокадровых видео, форма (batch_size, in_channels, 1, height, width).
sample_posterior (bool, необязательный, по умолчанию False) : Нужно ли выполнять выборку из апостериорного распределения вместо взятия его моды.
generator (torch.Generator, необязательный) : генератор, используемый при sample_posterior=True.
return_dict (bool, необязательный, по умолчанию True) : Нужно ли возвращать DecoderOutput вместо обычного кортежа.
Возвращает: DecoderOutput или tuple
Изображения после обратного преобразования, форма (batch_size, out_channels, 1, height, width).
Кодируйте, а затем декодируйте пакет изображений.
Xet Storage Details
- Size:
- 9.75 kB
- Xet hash:
- 833f2b4245f4afd2cbc69d4ac69f337696cb052792df28380ecd522f79a7f71b
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.