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 [源代码]¶
通过将 CLIP 图像模型与附加的投影头融合模块相结合,构建 Llama 3.2 视觉编码器。这包括: - 空间位置编码 - CLIP 模型骨干网络 - CLIP 之上的投影头 - 最终投影到 token 嵌入维度
- 参数:
patch_size (int) – 每个补丁的大小。用于将瓦片划分为补丁。例如,对于
patch_size=40
,形状为 (400, 400) 的瓦片将具有 10x10 的补丁网格,每个补丁的形状为 (40, 40)。num_heads (int) – 每个 Transformer 层中注意力头的数量。
clip_embed_dim (int) – CLIP 中每个补丁嵌入的维度。
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) – 图像瓦片的大小,如果图像已提前进行瓦片裁剪。否则,为输入图像的大小。在这种情况下,该函数会将您的图像视为单个瓦片。
max_num_tiles (int) – 可以处理的最大瓦片数量。这用于确定位置嵌入的大小。
in_channels (int) – 图像输入通道数。
- 返回:
Llama 3.2 视觉编码器的实例化。
- 返回类型: