Spaces:
Running
on
Zero
Running
on
Zero
| import torch | |
| from .vision_encoder import VisionTower | |
| from transformers import AutoConfig, PretrainedConfig, AutoModel | |
| from .siglip import ( | |
| SiglipVisionConfig, | |
| SiglipVisionModel, | |
| SiglipImageProcessor, | |
| ) | |
| class SiglipVisionTower(VisionTower): | |
| def __init__(self, model_name_or_path: str, config: PretrainedConfig, state_dict=None): | |
| super().__init__(model_name_or_path, config) | |
| self.image_processor = SiglipImageProcessor.from_pretrained(model_name_or_path) | |
| self.vision_tower = SiglipVisionModel.from_pretrained( | |
| # TODO(ligeng): why pass config here leading to errors? | |
| model_name_or_path, torch_dtype=eval(config.model_dtype), state_dict=state_dict | |
| ) | |
| self.is_loaded = True | |
| AutoConfig.register("siglip_vision_model", SiglipVisionConfig, exist_ok=True) | |
| AutoModel.register(SiglipVisionConfig, SiglipVisionModel, exist_ok=True) | |