Diffusers documentation
OvisImageTransformer2DModel
OvisImageTransformer2DModel
El modelo se puede cargar con el siguiente fragmento de código.
from diffusers import OvisImageTransformer2DModel
transformer = OvisImageTransformer2DModel.from_pretrained("AIDC-AI/Ovis-Image-7B", subfolder="transformer", dtype=torch.bfloat16)OvisImageTransformer2DModel
clase 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) )
Parámetros
- patch_size (
int, por defecto1) — Tamaño del parche para dividir los datos de entrada en parches pequeños. - in_channels (
int, por defecto64) — El número de canales en la entrada. - out_channels (
int, opcional, valor predeterminadoNone) — El número de canales en la salida. Si no se especifica, el valor predeterminado esin_channels. - num_layers (
int, por defecto6) — El número de capas de bloques DiT de doble flujo a utilizar. - num_single_layers (
int, por defecto27) — El número de capas de bloques DiT de un solo flujo que se van a usar. - attention_head_dim (
int, por defecto128) — El número de dimensiones a utilizar para cada cabeza de atención. - num_attention_heads (
int, por defecto24) — El número de cabezas de atención a utilizar. - joint_attention_dim (
int, por defecto2048) — El número de dimensiones a utilizar para la atención conjunta (dimensión de embedding/canal deencoder_hidden_states). - axes_dims_rope (
tuple[int], por defecto(16, 56, 56)) — Las dimensiones a utilizar para los embeddings posicionales rotatorios.
El modelo Transformer introducido en Ovis-Image.
Referencia: 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 )
Parámetros
- hidden_states (
torch.Tensorde forma(batch_size, image_sequence_length, in_channels)) — Estados ocultos de entradahidden_states. - encoder_hidden_states (
torch.Tensorde forma(batch_size, text_sequence_length, joint_attention_dim)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar. - timestep (
torch.LongTensor) — Se utiliza para indicar el paso de desruido. - img_ids — (
torch.Tensor): Los ids de posición para los tokens de imagen. - txt_ids (
torch.Tensor) — Los ids de posición para los tokens de texto. - joint_attention_kwargs (
dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa alAttentionProcessordefinido enself.processordentro de diffusers.models.attention_processor. - return_dict (
bool, opcional, valor predeterminadoTrue) — Indica si se debe devolver un~models.transformer_2d.Transformer2DModelOutputen lugar de una tupla simple.
El método forward de OvisImageTransformer2DModel.