Diffusers documentation
OvisImageTransformer2DModel
快速入门
推理
使用扩散流水线
适配器与个性化
优化与扩展
模块化 Diffusers
训练与微调
资源
贡献
API
主要类
模块化
加载器
模型
概述AutoModel
ControlNets
Transformers
AceStepTransformer1DModelAllegroTransformer3DModelAnyFlowFARTransformer3DModelAnyFlowTransformer3DModelAuraFlowTransformer2DModelBriaFibo2Transformer2DModelBriaFiboTransformer2DModelBriaTransformer2DModelChromaTransformer2DModelChronoEditTransformer3DModelCogVideoXTransformer3DModelCogView3PlusTransformer2DModelCogView4Transformer2DModelConsisIDTransformer3DModelCosmos3OmniTransformerCosmosTransformer3DModelDiTTransformer2DModelEasyAnimateTransformer3DModelErnieImageTransformer2DModelFlux2Transformer2DModelFlux3Transformer2DModelFluxTransformer2DModelGlmImageTransformer2DModelHeliosTransformer3DModelHiDreamImageTransformer2DModelHunyuanDiT2DModelHunyuanImageTransformer2DModelHunyuanVideo15Transformer3DModelHunyuanVideoTransformer3DModelIdeogram4Transformer2DModelJoyImageEditPlusTransformer3DModelJoyImageEditTransformer3DModelKandinsky 6 TransformersKandinskyS2VTransformer3DModelKrea2Transformer2DModelLatteTransformer3DModelLongCatImageTransformer2DModelLTX2VideoTransformer3DModelLTXVideoTransformer3DModelLumina2Transformer2DModelLuminaNextDiT2DModelMiniMaxH3ImageTransformer2DModelMiniMaxH3Transformer3DModelMiniMaxMusic3Transformer1DModelMochiTransformer3DModelMotifVideoTransformer3DModelOmniGenTransformer2DModelOvisImageTransformer2DModelPAN2Transformer3DModelPixArtTransformer2DModelPriorTransformerQwenImage21Transformer2DModelQwenImageTransformer2DModelRFD4ProteinaAutoencoderRFD4ProteinaTransformerSanaTransformer2DModelSanaVideoTransformer3DModelSanaWMLTX2RefinerTransformer3DModelSanaWMTransformer3DModelSD3Transformer2DModelSkyReelsV2Transformer3DModelStableAudio3DiTModelStableAudioDiTModelTransformer2DModelTransformerTemporalModelWanAnimate2Transformer3DModelWanAnimateTransformer3DModelWanTransformer3DModelZImageTransformer2DModel
UNets
VAEs
管道
调度器
内部类
OvisImageTransformer2DModel
可以使用以下代码片段加载该模型。
from diffusers import OvisImageTransformer2DModel
transformer = OvisImageTransformer2DModel.from_pretrained("AIDC-AI/Ovis-Image-7B", subfolder="transformer", dtype=torch.bfloat16)OvisImageTransformer2DModel
class 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) )
参数
- patch_size (
int,默认为1) — 用于将输入数据划分为小块的块大小。 - in_channels (
int,默认为64) — 输入数据的通道数。 - out_channels (
int,可选,默认为None) — 输出通道数。如果未指定,则默认为in_channels。 - num_layers (
int,默认为6) — 要使用的双流 DiT 块层数。 - num_single_layers (
int,默认为27) — 要使用的单流 DiT 块层数。 - attention_head_dim (
int,默认为128) — 每个注意力头使用的维度数。 - num_attention_heads (
int,默认为24) — 要使用的注意力头数量。 - joint_attention_dim (
int,默认为2048) — 用于联合注意力的维度数(encoder_hidden_states的嵌入/通道维度)。 - axes_dims_rope (
tuple[int],默认为(16, 56, 56)) — 用于旋转位置嵌入的维度。
Ovis-Image 中引入的 Transformer 模型。
参考: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 )
参数
- hidden_states(形状为
(batch_size, image_sequence_length, in_channels)的torch.Tensor)— 输入的hidden_states。 - encoder_hidden_states(形状为
(batch_size, text_sequence_length, joint_attention_dim)的torch.Tensor)— 要使用的条件嵌入(由输入条件(例如提示词)计算得出的嵌入)。 - timestep (
torch.LongTensor) — 用于指示去噪步骤。 - img_ids — (
torch.Tensor): 图像标记的位置 ID。 - txt_ids (
torch.Tensor) — 文本 token 的位置 ID。 - joint_attention_kwargs (
dict, 可选) — 一个 kwargs 字典,如果指定,将作为参数传递给 diffusers.models.attention_processor 中self.processor下定义的AttentionProcessor。 - return_dict (
bool,可选,默认为True) — 是否返回~models.transformer_2d.Transformer2DModelOutput而不是普通的元组。
OvisImageTransformer2DModel 的 forward 方法。