llama3_2_vision_encoder¶
- torchtune.models.llama3_2_vision.llama3_2_vision_encoder(*, patch_size: int, num_heads: int, clip_embed_dim: int, clip_num_layers: int, clip_hidden_states: Optional[List[int]], num_layers_projection: int, decoder_embed_dim: int, tile_size: int, max_num_tiles: int = 4, in_channels: int = 3) Llama3VisionEncoder [source]¶
通过将 CLIP 图像模型与额外的投影头融合模块结合,构建 Llama 3.2 视觉编码器。这包括: - 空间位置编码 - CLIP 模型主干 - 在 CLIP 之上的投影头 - 最终投影到 token 嵌入维度
- 参数:
patch_size (int) – 每个 patch 的大小。用于将 tile 划分成 patch。例如,当
patch_size=40
时,形状为 (400, 400) 的 tile 将包含 10x10 个形状为 (40, 40) 的 patch 网格。num_heads (int) – 每个 transformer 层中的注意力头数量。
clip_embed_dim (int) – CLIP 中每个 patch 嵌入的维度。
clip_num_layers (int) – transformer 层的数量。
clip_hidden_states (Optional[List[int]]) – 要返回给编码器投影头的 CLIP 隐藏层索引。它将返回视觉 transformer 层的中间结果,这些结果将与 CLIP 输出连接并输入到投影头中。例如,
clip_hidden_states=[0,3]
将返回在经过第一层和第四层之前的嵌入。num_layers_projection (int) – 投影头中的 transformer 层数量。
decoder_embed_dim (int) – 解码器最终输出嵌入的维度。
tile_size (int) – 图像 tile 的大小,如果图像已预先进行 tile 裁剪。否则,为输入图像的大小。在这种情况下,函数将把您的图像视为单个 tile。
max_num_tiles (int) – 可以处理的最大 tile 数量。这用于确定位置嵌入的大小。
in_channels (int) – 图像输入通道的数量。
- 返回值:
Llama 3.2 视觉编码器的实例。
- 返回类型: