Diffusers documentation

OvisImageTransformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

OvisImageTransformer2DModel

Le modèle peut être chargé à l'aide du fragment de code suivant.

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[int, int, int] = (16, 56, 56) )

Paramètres

  • patch_size (int, par défaut 1) — Taille des patches pour découper les données d'entrée en petits patches.
  • in_channels (int, par défaut 64) — Le nombre de canaux dans l'entrée.
  • out_channels (int, facultatif, par défaut None) — Le nombre de canaux dans la sortie. S'il n'est pas spécifié, il est par défaut égal à in_channels.
  • num_layers (int, par défaut 6) — Le nombre de blocs DiT à double flux à utiliser.
  • num_single_layers (int, par défaut 27) — Le nombre de blocs DiT à flux unique à utiliser.
  • attention_head_dim (int, par défaut 128) — Le nombre de dimensions à utiliser pour chaque tête d'attention.
  • num_attention_heads (int, par défaut 24) — Le nombre de têtes d'attention à utiliser.
  • joint_attention_dim (int, par défaut 2048) — Le nombre de dimensions à utiliser pour l'attention conjointe (dimension d'embedding/canal de encoder_hidden_states).
  • axes_dims_rope (tuple[int], par défaut (16, 56, 56)) — Les dimensions à utiliser pour les embeddings positionnels rotatifs.

Le modèle Transformer introduit dans Ovis-Image.

Référence : 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 )

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, image_sequence_length, in_channels)) — hidden_states d'entrée.
  • encoder_hidden_states (torch.Tensor de forme (batch_size, text_sequence_length, joint_attention_dim)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser.
  • timestep (torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage.
  • img_ids — (torch.Tensor) : Les identifiants de position pour les jetons d’image.
  • txt_ids (torch.Tensor) — Les identifiants de position pour les jetons de texte.
  • joint_attention_kwargs (dict, facultatif) — Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessor défini sous self.processor dans diffusers.models.attention_processor.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un ~models.transformer_2d.Transformer2DModelOutput plutôt qu'un simple tuple.

La méthode forward du OvisImageTransformer2DModel.

Update on GitHub