Diffusers documentation
KandinskyS2VTransformer3DModel
KandinskyS2VTransformer3DModel
Diffusion Transformer (DiT) của Kandinsky S2V 1.0, được điều kiện bởi một khung tham chiếu và một bản ghi âm thanh.
KandinskyS2VTransformer3DModel
lớp diffusers.KandinskyS2VTransformer3DModel
< source >( in_visual_dim: int = 16out_visual_dim: int = 16in_text_dim: int = 3584in_text_dim2: int = 768in_audio_dim: int = 3584time_dim: int = 512patch_size: tuple[int, int, int] = (1, 2, 2)frame_buckets: tuple[int, int, int] = (2, 4, 24)enable_framepack: bool = Trueindex_rope_ref_image: int = 40patch_proj1x_coef: tuple[int, int, int] = (1, 1, 1)patch_proj2x_coef: tuple[int, int, int] = (2, 2, 2)patch_proj4x_coef: tuple[int, int, int] = (4, 4, 4)model_dim: int = 1792ff_dim: int = 7168num_text_blocks: int = 2num_audio_blocks: int = 2num_visual_blocks: int = 32axes_dims: tuple[int, int, int] = (16, 24, 24)audio_inject_layers: tuple[int, ...] = ()text_rope_max_pos: int = 4096 )
Biến đổi khuếch tán từ giọng nói sang video.
Tên tham số khớp với các checkpoint huấn luyện, do đó một tệp .safetensors đã chuyển đổi sẽ được nạp mà không cần ánh xạ lại khóa. Suy luận có kích thước lô là 1: chuỗi được đóng gói và chú ý chéo giọng nói được căn chỉnh theo khung, nên forward nhận một trục lô đầu có kích thước 1 và nén nó lại.
Dòng thị giác là một chuỗi đóng gói [memory | ref | visual]:
memory— ngữ cảnh FramePack từ khối trước đó ở mức giảm mẫu thời gian 4x / 2x / 1x, được đặt ở các vị trí RoPE thời gian âm;ref— hệ quy chiếu tham chiếu, được cố định tại chỉ số RoPE theo thời gianindex_rope_ref_image;visual— latent nhiễu đang được khử nhiễu.
memory và ref là sạch, nên chúng được điều biến với t = 0 trong khi visual sử dụng bước thời gian thực; điều biến giữ cả hai hàng và một chỉ số chọn theo từng token.
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensoraudio_hidden_states: Tensorreference_hidden_states: Tensormemory_hidden_states: tuple[Tensor, Tensor, Tensor]timestep: Tensorpooled_projections: Tensorvisual_rope_pos: list[Tensor]reference_rope_pos: list[Tensor]memory_rope_pos: tuple[list[Tensor], list[Tensor], list[Tensor]]text_rope_pos: Tensoraudio_rope_pos: Tensorscale_factor: tuple[float, float, float] = (1.0, 1.0, 1.0)return_dict: bool = True ) → [~models.modeling_outputs.Transformer2DModelOutput] or tuple
Tham số
- hidden_states — latent nhiễu,
(1, T, H, W, C). - encoder_hidden_states — các embedding văn bản,
(1, S_text, in_text_dim). - audio_hidden_states — đặc trưng giọng nói,
(1, S_audio, in_audio_dim). - reference_hidden_states — latent của khung tham chiếu,
(1, 1, H, W, C). - memory_hidden_states — Bộ nhớ FramePack ở 4x / 2x / 1x, mỗi phần có kích thước
(1, T_i, H_i, W_i, C). - timestep — bước thời gian hiện tại,
(1,). - pooled_projections — embedding văn bản CLIP đã pool,
(1, in_text_dim2). - visual_rope_pos — vị trí RoPE theo từng trục của latent nhiễu.
- reference_rope_pos — vị trí RoPE theo từng trục của khung tham chiếu.
- memory_rope_pos — vị trí RoPE theo từng trục của mỗi thang độ nhớ FramePack.
- text_rope_pos — vị trí RoPE 1-D của các token văn bản.
- audio_rope_pos — khung latent mà mỗi token giọng nói thuộc về.
- scale_factor — Hệ số RoPE theo từng trục, được đặt bởi bucket độ phân giải.
- return_dict — trả về một
Transformer2DModelOutputthay vì một tuple.
Trả về
[~models.modeling_outputs.Transformer2DModelOutput] hoặc tuple
tốc độ dự đoán, có hình dạng giống như
hidden_states.
Loại bỏ nhiễu một khối.
Batch size phải là 1: chuỗi được đóng gói và cross-attention của giọng nói được căn chỉnh theo từng khung hình.