Views
No views yet
config.json, model.safetensors: the SigLIP vision encoderpreprocessor_config.json: the image processor settings used by Gemma 3projector_state_dict.pt: PyTorch state dict for the Gemma projectorprojector_config.json: metadata (class, dims, token count if detected)NOTICE: Gemma Terms pointer1from transformers import SiglipVisionModel, AutoImageProcessor
2from PIL import Image
3import torch
4
5repo_id = "<your-username>/<your-repo>"
6encoder = SiglipVisionModel.from_pretrained(repo_id).eval()
7processor = AutoImageProcessor.from_pretrained(repo_id)
8
9img = Image.open("test.jpg").convert("RGB")
10inputs = processor(images=img, return_tensors='pt')
11with torch.no_grad():
12 feats = encoder(**inputs).last_hidden_state # (B, Tv, Dv)
13print(feats.shape)multi_modal_projector module.1import torch
2from transformers import Gemma3ForConditionalGeneration
3
4repo_id = "<your-username>/<your-repo>"
5vlm = Gemma3ForConditionalGeneration.from_pretrained('google/gemma-3-4b-pt', device_map='cpu')
6sd = torch.load('projector_state_dict.pt', map_location='cpu') # or from the repo checkout
7vlm.multi_modal_projector.load_state_dict(sd, strict=False)
8vlm.eval()1import importlib, json, torch
2
3with open("projector_config.json", "r") as f:
4 meta = json.load(f)
5fqn = meta.get('projector_fqn') # e.g., 'transformers.models.gemma3.modeling_gemma3.Gemma3VisionProjector'
6mod_name, cls_name = fqn.rsplit('.', 1)
7cls = getattr(importlib.import_module(mod_name), cls_name)
8projector = cls(**{k: v for k, v in meta.items() if k.endswith('_dim') or k.endswith('_tokens')})
9sd = torch.load('projector_state_dict.pt', map_location='cpu')
10projector.load_state_dict(sd, strict=False)
11projector.eval()transformers.models.gemma3.modeling_gemma3.Gemma3MultiModalProjectorNOTICE file. Gemma is provided under and subject to the Gemma Terms of Use:
https://ai.google.dev/gemma/terms