Diffusers documentation

OvisImageTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

OvisImageTransformer2DModel

O modelo pode ser carregado com o seguinte trecho de código.

from diffusers import OvisImageTransformer2DModel

transformer = OvisImageTransformer2DModel.from_pretrained("AIDC-AI/Ovis-Image-7B", subfolder="transformer", dtype=torch.bfloat16)

OvisImageTransformer2DModel

classe diffusers.OvisImageTransformer2DModel

< >

( patch_size: int = 1in_channels: int = 64out_channels: int | None = 64num_layers: int = 6num_single_layers: int = 27attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 2048axes_dims_rope: tuple = (16, 56, 56) )

Parâmetros

  • patch_size (int, padrão 1) — Tamanho do patch para dividir os dados de entrada em pequenos patches.
  • in_channels (int, padrão 64) — O número de canais na entrada.
  • out_channels (int, opcional, padrão None) — O número de canais na saída. Se não for especificado, o padrão é in_channels.
  • num_layers (int, padrão 6) — O número de blocos DiT de fluxo duplo a serem usados.
  • num_single_layers (int, padrão 27) — O número de blocos DiT de fluxo único a serem usados.
  • attention_head_dim (int, padrão 128) — O número de dimensões a serem usadas para cada cabeça de atenção.
  • num_attention_heads (int, padrão 24) — O número de cabeças de atenção a serem usadas.
  • joint_attention_dim (int, padrão 2048) — O número de dimensões a serem usadas para a atenção conjunta (dimensão de incorporação/canal de encoder_hidden_states).
  • axes_dims_rope (tuple[int], padrão (16, 56, 56)) — As dimensões a serem usadas para os embeddings posicionais rotativos.

O modelo Transformer introduzido no Ovis-Image.

Referência: https://github.com/AIDC-AI/Ovis-Image

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, image_sequence_length, in_channels)) — hidden_states de entrada.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, text_sequence_length, joint_attention_dim)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • img_ids — (torch.Tensor): Os ids de posição para os tokens de imagem.
  • txt_ids (torch.Tensor) — Os ids de posição para os tokens de texto.
  • joint_attention_kwargs (dict, opcional) — Um dicionário de kwargs que, se especificado, é passado ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.

O método forward do OvisImageTransformer2DModel.

Update on GitHub