(self, embed_dim=1280, layer_norm_eps=1e-5, num_encoder_layers=32, encoder_intermediate_size=5120, projection_dim=1024, num_heads=16, head_dim=80)
| 26 | |
| 27 | class SVDImageEncoder(torch.nn.Module): |
| 28 | def __init__(self, embed_dim=1280, layer_norm_eps=1e-5, num_encoder_layers=32, encoder_intermediate_size=5120, projection_dim=1024, num_heads=16, head_dim=80): |
| 29 | super().__init__() |
| 30 | self.embeddings = CLIPVisionEmbeddings(embed_dim=embed_dim) |
| 31 | self.pre_layernorm = torch.nn.LayerNorm(embed_dim, eps=layer_norm_eps) |
| 32 | self.encoders = torch.nn.ModuleList([ |
| 33 | CLIPEncoderLayer(embed_dim, encoder_intermediate_size, num_heads=num_heads, head_dim=head_dim, use_quick_gelu=False) |
| 34 | for _ in range(num_encoder_layers)]) |
| 35 | self.post_layernorm = torch.nn.LayerNorm(embed_dim, eps=layer_norm_eps) |
| 36 | self.visual_projection = torch.nn.Linear(embed_dim, projection_dim, bias=False) |
| 37 | |
| 38 | def forward(self, pixel_values): |
| 39 | embeds = self.embeddings(pixel_values) |
no test coverage detected