Buckets:
AutoencoderKLMochi
Mô hình autoencoder biến phân 3D (VAE) với tổn thất KL được sử dụng trong Mochi đã được giới thiệu trong Mochi 1 Preview bởi Đại học Thanh Hoa & ZhipuAI.
Mô hình có thể được tải bằng đoạn mã sau.
from diffusers import AutoencoderKLMochi
vae = AutoencoderKLMochi.from_pretrained("genmo/mochi-1-preview", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"
AutoencoderKLMochi[[diffusers.AutoencoderKLMochi]]
diffusers.AutoencoderKLMochi[[diffusers.AutoencoderKLMochi]]
diffusers.AutoencoderKLMochi(in_channels: int = 15, out_channels: int = 3, encoder_block_out_channels: tuple[int] = (64, 128, 256, 384), decoder_block_out_channels: tuple[int] = (128, 256, 512, 768), latent_channels: int = 12, layers_per_block: tuple[int, ...] = (3, 3, 4, 6, 3), act_fn: str = 'silu', temporal_expansions: tuple[int, ...] = (1, 2, 3), spatial_expansions: tuple[int, ...] = (2, 2, 2), add_attention_block: tuple[bool, ...] = (False, True, True, True, True), latents_mean: tuple[float, ...] = (-0.06730895953510081, -0.038011381506090416, -0.07477820912866141, -0.05565264470995561, 0.012767231469026969, -0.04703542746246419, 0.043896967884726704, -0.09346305707025976, -0.09918314763016893, -0.008729793427399178, -0.011931556316503654, -0.0321993391887285), latents_std: tuple[float, ...] = (0.9263795028493863, 0.9248894543193766, 0.9393059390890617, 0.959253732819592, 0.8244560132752793, 0.917259975397747, 0.9294154431013696, 1.3720942357788521, 0.881393668867029, 0.9168315692124348, 0.9185249279345552, 0.9274757570805041), scaling_factor: float = 1.0)
Tham số:
in_channels (int, tùy chọn, mặc định là 3) : Số kênh trong ảnh đầu vào.
out_channels (int, tuỳ chọn, mặc định là 3) : Số lượng kênh trong đầu ra.
block_out_channels (tuple[int], tuỳ chọn, mặc định là (64,)) : bộ tuple của số kênh đầu ra khối.
act_fn (str, tùy chọn, mặc định là "silu") : Hàm kích hoạt cần sử dụng.
scaling_factor (float, tuỳ chọn, mặc định là 1.15258426) : Độ lệch chuẩn theo từng thành phần của không gian tiềm ẩn đã được huấn luyện, được tính toán bằng cách sử dụng lô đầu tiên của tập dữ liệu huấn luyện. Giá trị này được dùng để chuẩn hóa không gian tiềm ẩn sao cho có phương sai bằng đơn vị khi huấn luyện mô hình khuếch tán. Các biến tiềm ẩn được chuẩn hóa bằng công thức z = z * scaling_factor trước khi được truyền vào mô hình khuếch tán. Khi giải mã, các biến tiềm ẩn được đưa về thang đo gốc bằng công thức: z = 1 / scaling_factor * z. Để biết thêm chi tiết, hãy tham khảo các mục 4.3.2 và D.1 của bài báo High-Resolution Image Synthesis with Latent Diffusion Models.
Mô hình VAE có tổn thất KL để mã hóa ảnh thành các ẩn và giải mã các biểu diễn ẩn thành ảnh. Được sử dụng trong Mochi 1 preview.
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[[diffusers.AutoencoderKLMochi.decode]]
decode(z: Tensor, return_dict: bool = True)
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.DecoderOutput thay 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[[diffusers.AutoencoderKLMochi.enable_tiling]]
enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_sample_stride_height: float | None = None, tile_sample_stride_width: float | None = None)
Tham số:
tile_sample_min_height (int, optional) : Chiều cao tối thiểu cần thiết để một mẫu được tách thành các ô (tiles) theo chiều cao.
tile_sample_min_width (int, optional) : Độ rộng tối thiểu cần thiết để một mẫu được tách thành các ô (tiles) theo chiều rộng.
tile_sample_stride_height (int, optional) : 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, optional) : Khoảng cách giữa hai ô gạch ngang 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 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[[diffusers.AutoencoderKLMochi.encode]]
encode(x: Tensor, return_dict: bool = True)
Tham số:
x (torch.Tensor) : Lô đầu vào của các hình ảnh.
return_dict (bool, tùy chọn, mặc định là True) : Có nên trả về một ~models.autoencoder_kl.AutoencoderKLOutput thay vì một tuple thông thường hay không.
Trả về:
Các biểu diễn ẩn của các video đã được mã hóa. Nếu return_dict là True, một ~models.autoencoder_kl.AutoencoderKLOutput sẽ được trả về, ngược lại một tuple thông thường sẽ được trả về.
Mã hóa một lô ảnh thành các biến ẩn.
forward[[diffusers.AutoencoderKLMochi.forward]]
forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None)
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ừ phân phối hậu nghiệm hay không.
return_dict (bool, tùy chọn, mặc định là True) : Có nên trả về một DecoderOutput thay vì một tuple thông thường hay không.
generator (torch.Generator, tùy chọn) : Một torch.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[[diffusers.AutoencoderKLMochi.tiled_decode]]
tiled_decode(z: Tensor, return_dict: bool = True)
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.DecoderOutput thay 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[[diffusers.AutoencoderKLMochi.tiled_encode]]
tiled_encode(x: Tensor)
Tham số:
x (torch.Tensor) : Lô đầu vào các video.
Trả về: torch.Tensor
Biểu diễn ẩn của các video đã được mã hóa.
Mã hóa một lô ảnh bằng trình mã hóa dạng gạch.
DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]
diffusers.models.autoencoders.vae.DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]
diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None)
Tham số:
sample (torch.Tensor có shape (batch_size, num_channels, height, width)) : Mẫu đầu ra đã giải mã từ lớp cuối cùng của mô hình.
Đầu ra của phương pháp giải mã.
Xet Storage Details
- Size:
- 9.8 kB
- Xet hash:
- 9ac6a3d89702b2c411a46cbea47822ed96f6aedcfaad89dbc8a2325ae1723482
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.