Shortcuts

Llama3VisionProjectionHead

class torchtune.models.llama3_2_vision.Llama3VisionProjectionHead(layers: Module, output: Module, num_hidden_inputs: int = 0)[source]

投影变换器用于将预训练冻结编码器(CLIP)的输出适配到预训练解码器模型。例如,nn.Sequential(CLIP(), Llama3VisionProjectionHead())。

Parameters:
  • layers (nn.Module) – Transformer 解码器层

  • 输出 (nn.Module) – 输出线性层。输入维度为 (num_hidden + 1) * encoder_dim,输出为decoder_dim。

  • num_hidden_inputs (int) – 预期的隐藏状态输入数量

forward(x: Tensor, hidden_states: Optional[List[Tensor]] = None) Tensor[source]
Parameters:
  • x (torch.Tensor) – 输入张量,形状为 [b x i x t x e x d]

  • hidden_states (Optional[List[torch.Tensor]]) – 来自编码器的隐藏状态列表。每个隐藏状态的形状与x相同。

Returns:

输出嵌入序列的张量 [b x s x d]

其中序列长度为 num_imgs*num_tiles+num_embeds

Return type:

张量

Notation used for tensor shapes:
  • b: 批量大小

  • i: 图片数量

  • t: 瓦片数量(其中单个图像被分割成多个瓦片)

  • e: 每个图块的嵌入数量(例如,CLS嵌入 + 补丁嵌入等)

  • s: 由i*t*e计算的序列长度

  • d: 嵌入维度