Diffusers documentation
OvisImageTransformer2DModel
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
< source >( 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éfaut1) — Taille des patches pour découper les données d'entrée en petits patches. - in_channels (
int, par défaut64) — Le nombre de canaux dans l'entrée. - out_channels (
int, facultatif, par défautNone) — 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éfaut6) — Le nombre de blocs DiT à double flux à utiliser. - num_single_layers (
int, par défaut27) — Le nombre de blocs DiT à flux unique à utiliser. - attention_head_dim (
int, par défaut128) — Le nombre de dimensions à utiliser pour chaque tête d'attention. - num_attention_heads (
int, par défaut24) — Le nombre de têtes d'attention à utiliser. - joint_attention_dim (
int, par défaut2048) — Le nombre de dimensions à utiliser pour l'attention conjointe (dimension d'embedding/canal deencoder_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
< source >( 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.Tensorde forme(batch_size, image_sequence_length, in_channels)) —hidden_statesd'entrée. - encoder_hidden_states (
torch.Tensorde 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'AttentionProcessordéfini sousself.processordans diffusers.models.attention_processor. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.transformer_2d.Transformer2DModelOutputplutôt qu'un simple tuple.
La méthode forward du OvisImageTransformer2DModel.