Diffusers documentation
ZImageTransformer2DModel
ZImageTransformer2DModel
Модель Transformer для изображений от Z-Image.
ZImageTransformer2DModel
класс diffusers.ZImageTransformer2DModel
< source >( all_patch_size = (2,)all_f_patch_size = (1,)in_channels = 16dim = 3840n_layers = 30n_refiner_layers = 2n_heads = 30n_kv_heads = 30norm_eps = 1e-05qk_norm = Truecap_feat_dim = 2560siglip_feat_dim = Nonerope_theta = 256.0t_scale = 1000.0axes_dims = [32, 48, 48]axes_lens = [1024, 512, 512] )
forward
< source >( x: list[torch.Tensor, list[list[torch.Tensor]]]tcap_feats: list[torch.Tensor, list[list[torch.Tensor]]]return_dict: bool = Truecontrolnet_block_samples: dict[int, torch.Tensor] | None = Nonesiglip_feats: list[list[torch.Tensor]] | None = Noneimage_noise_mask: list[list[int]] | None = Nonepatch_size: int = 2f_patch_size: int = 1joint_attention_kwargs: dict[str, typing.Any] | None = None )
Параметры
- x (
listизtorch.Tensorили вложенныйlistизtorch.Tensor) — Входные латенты. Плоский список при работе в стандартном режиме или вложенный список при работе в режиме omni. - t (
torch.Tensor) — Используется для указания шага денойзинга. - cap_feats (
listизtorch.Tensorили вложенныйlistизtorch.Tensor) — Условные эмбеддинги подписей (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать. - return_dict (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли возвращать~models.transformer_2d.Transformer2DModelOutputвместо обычного кортежа. - controlnet_block_samples (
dictизintвtorch.Tensor, необязательный) — Сопоставление индекса блока с тензором, которые при указании добавляются к остаткам блоков трансформера. - siglip_feats (
listизlistизtorch.Tensor, необязательный) — Необязательные признаки изображений SigLIP, используемые в качестве дополнительного условия. - image_noise_mask (
listoflistofint, необязательный) — Маски шума для каждого изображения, указывающие на шумовые и чистые токены в режиме omni. - patch_size (
int, необязательный, по умолчанию 2) — Пространственный размер патча, используемый для разбиения входных латентов на патчи. - f_patch_size (
int, необязательный, по умолчанию 1) — Размер временного патча, используемого для патчификации входных латентов. - joint_attention_kwargs (
dict, необязательный) — Словарь kwargs. Используется только записьscaleдля масштабирования слоёв LoRA.
Метод forward модели ZImageTransformer2DModel.
Поток: patchify -> t_embed -> x_embed -> x_refine -> cap_embed -> cap_refine -> [siglip_embed -> siglip_refine] -> build_unified -> main_layers -> final_layer -> unpatchify
patchify_and_embed
< source >( all_image: list[torch.Tensor]all_cap_feats: list[torch.Tensor]patch_size: intf_patch_size: int )
Patchify для базового режима: одно изображение на элемент батча.
patchify_and_embed_omni
< source >( all_x: list[list[torch.Tensor]]all_cap_feats: list[list[torch.Tensor]]all_siglip_feats: list[list[torch.Tensor]]patch_size: intf_patch_size: intimages_noise_mask: list[list[int]] )
Patchify для режима omni: несколько изображений на элемент батча с масками шума.