Llama3VisionProjectionHead¶
- class torchtune.models.llama3_2_vision.Llama3VisionProjectionHead(layers: Module, output: Module, num_hidden_inputs: int = 0)[源代码]¶
投影变换器,用于将预训练的冻结编码器 (CLIP) 的输出适配到预训练的解码器模型。例如,nn.Sequential(CLIP(), Llama3VisionProjectionHead())。
- 参数:
layers (nn.Module) – 变换器解码器层
output (nn.Module) – 输出线性层。输入维度为 (num_hidden + 1) * encoder_dim,输出为 decoder_dim。
num_hidden_inputs (int) – 预期隐藏状态输入的数量
- forward(x: Tensor, hidden_states: Optional[List[Tensor]] = None) Tensor [源代码]¶
- 参数:
x (torch.Tensor) – 形状为 [b x i x t x e x d] 的输入张量
hidden_states (Optional[List[torch.Tensor]]) – 来自编码器的隐藏状态列表。每个隐藏状态的形状与 x 相同。
- 返回值:
- 一系列嵌入的输出张量 [b x s x d]
其中序列长度为 num_imgs*num_tiles+num_embeds
- 返回类型:
张量
- 用于张量形状的符号
b:批次大小
i:图像数量
t:切片数量(其中单个图像被分成多个切片)
e:每个切片的嵌入数量(例如,CLS 嵌入 + 补丁嵌入等)
s:通过 i*t*e 计算的序列长度
d:嵌入维度