Llama3VisionEncoder¶
- class torchtune.models.llama3_2_vision.Llama3VisionEncoder(clip: Module, projection_head: Module)[source]¶
Llama 3.2 Vision 的视觉编码器模型。它将一个预训练的视觉编码器与一个可学习的投影头结合起来。投影头被转换为融合模块,并支持融合工具。
- 参数:
clip (nn.Module) – CLIP 编码器视觉模型
projection_head (nn.Module) – 投影头,接受维度为 encoder_dim 的嵌入作为输入,并输出大小为 decoder_dim 的嵌入。
- forward(images: Tensor, aspect_ratio: Optional[Tensor] = None) Tensor [source]¶
- 参数:
images (torch.Tensor) – 图像张量,形状为 [b x i x t x c x w x h]
aspect_ratio (Optional[torch.Tensor]) – 张量,形状为 [b x i x 2]。如果所有图像只有一个瓦片,即未进行瓦片裁剪,则应为 None。用于计算瓦片的位置嵌入。
- 返回:
- 嵌入序列的输出张量,形状为 [b x s x d]
其中序列长度为 num_imgs*num_tiles+num_embeds
- 返回类型:
Tensor
- 张量形状表示法
b: 批量大小 (batch size)
i: 图像数量 (number of images)
t: 瓦片数量 (其中一张图像被分割成多个瓦片)
c: 图像通道数量 (例如 rgb = 3)
w: 图像宽度
h: 图像高度
s: 序列长度,由 i*t*clip_embeds_per_tile 计算得来
d: 嵌入维度 (embed dim)