Diffusers documentation
AutoencoderKLWan
AutoencoderKLWan
Mô hình autoencoder biến phân 3D (VAE) với tổn thất KL được sử dụng trong Wan 2.1 của nhóm Alibaba Wan.
Mô hình có thể được tải bằng đoạn mã sau.
from diffusers import AutoencoderKLWan
vae = AutoencoderKLWan.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers", subfolder="vae", dtype=torch.float32)AutoencoderKLWan
lớp diffusers.AutoencoderKLWan
< source >( base_dim: int = 96decoder_base_dim: int | None = Nonez_dim: int = 16dim_mult: list = [1, 2, 4, 4]num_res_blocks: int = 2attn_scales: list = []temperal_downsample: list = [False, True, True]dropout: float = 0.0latents_mean: list = [-0.7571, -0.7089, -0.9113, 0.1075, -0.1745, 0.9653, -0.1517, 1.5508, 0.4134, -0.0715, 0.5517, -0.3632, -0.1922, -0.9497, 0.2503, -0.2921]latents_std: list = [2.8184, 1.4541, 2.3275, 2.6558, 1.2196, 1.7708, 2.6052, 2.0743, 3.2687, 2.1526, 2.8652, 1.5579, 1.6382, 1.1253, 2.8251, 1.916]is_residual: bool = Falsein_channels: int = 3out_channels: int = 3patch_size: int | None = Nonescale_factor_temporal: int | None = 4scale_factor_spatial: int | None = 8 )
Một mô hình VAE có tổn thất KL để mã hóa video thành các biến ẩn và giải mã các biểu diễn ẩn thành video. Được giới thiệu trong [Wan 2.1].
Mô hình này kế thừa từ ModelMixin. Hãy xem tài liệu của lớp cha để biết các phương thức chung được triển khai cho tất cả các mô hình (chẳng hạn như tải xuống hoặc lưu trữ).
decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Tham số
- z (
torch.Tensor) — Lô đầu vào của các vector ẩn. - return_dict (
bool, tùy chọn, mặc định làTrue) — Có nên trả về một~models.vae.DecoderOutputthay vì một tuple thông thường hay không.
Trả về
~models.vae.DecoderOutput hoặc tuple
Nếu return_dict là True, một ~models.vae.DecoderOutput sẽ được trả về, ngược lại một tuple thông thường sẽ được trả về.
Giải mã một lô ảnh.
enable_tiling
< source >( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_stride_height: float | None = Nonetile_sample_stride_width: float | None = None )
Tham số
- tile_sample_min_height (
int, tùy chọn) — Chiều cao tối thiểu cần thiết để một mẫu được tách thành các ô (tile) theo chiều cao. - tile_sample_min_width (
int, tùy chọn) — Chiều rộng tối thiểu cần thiết để một mẫu được tách thành các ô (tile) theo chiều rộng. - tile_sample_stride_height (
int, tùy chọn) — Lượng chồng lấn tối thiểu giữa hai gạch dọc liên tiếp. Điều này nhằm đảm bảo không có hiện tượng lỗi ghép gạch nào xảy ra dọc theo chiều cao. - tile_sample_stride_width (
int, tùy chọn) — Bước nhảy giữa hai lát cắt ngang liên tiếp. Điều này nhằm đảm bảo không có hiện tượng lỗi lát cắt nào xuất hiện trên chiều rộng.
Bật giải mã VAE dạng gạch. Khi tùy chọn này được bật, VAE sẽ chia tensor đầu vào thành các gạch để tính toán giải mã và mã hóa qua nhiều bước. Điều này hữu ích để tiết kiệm một lượng lớn bộ nhớ và cho phép xử lý các hình ảnh lớn hơn.
encode
< source >( x: Tensorreturn_dict: bool = True )
Mã hóa một lô ảnh thành các biến ẩn.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple
Tham số
- sample (
torch.Tensor) — Mẫu đầu vào. - sample_posterior (
bool, tùy chọn, mặc định làFalse) — Có lấy mẫu từ posterior hay không. - return_dict (
bool, tùy chọn, mặc định làTrue) — Có nên trả về mộtDecoderOutputthay vì một tuple thông thường hay không. - generator (
torch.Generator, tùy chọn) — Mộttorch.Generatorđể làm cho việc lấy mẫu trở nên tất định.
Trả về
~models.vae.DecoderOutput hoặc tuple
Nếu return_dict là True, một ~models.vae.DecoderOutput sẽ được trả về, ngược lại một tuple thông thường sẽ được trả về.
tiled_decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Tham số
- z (
torch.Tensor) — Lô đầu vào của các vector ẩn. - return_dict (
bool, tùy chọn, mặc định làTrue) — Có nên trả về một~models.vae.DecoderOutputthay vì một tuple thông thường hay không.
Trả về
~models.vae.DecoderOutput hoặc tuple
Nếu return_dict là True, một ~models.vae.DecoderOutput sẽ được trả về, ngược lại một tuple thông thường sẽ được trả về.
Giải mã một lô ảnh bằng trình giải mã dạng gạch.
tiled_encode
< source >( x: Tensor ) → torch.Tensor
Mã hóa một lô ảnh bằng trình mã hóa dạng gạch.
DecoderOutput
lớp diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Đầu ra của phương pháp giải mã.