jedyang97's picture
initial demo
947767a
from .clip_encoder import CLIPVisionTower
def build_vision_tower(vision_tower_cfg, **kwargs):
vision_tower = getattr(
vision_tower_cfg,
"mm_vision_tower",
getattr(vision_tower_cfg, "vision_tower", None),
)
if vision_tower.startswith("openai") or vision_tower.startswith("laion"):
return CLIPVisionTower(vision_tower, args=vision_tower_cfg, **kwargs)
elif vision_tower == "pointcloud-perceiver":
return PointCloudPerceiverVisionTower(vision_tower, args=vision_tower_cfg)
elif vision_tower == "pointcloud-minkowski":
return PointCloudMinkowskiVisionTower(vision_tower, args=vision_tower_cfg)
elif vision_tower == "pointcloud-minkowski-mask3d":
return PointCloudMinkowskiMask3DVisionTower(vision_tower, args=vision_tower_cfg)
elif vision_tower == "bbox-ground-truth":
return None # return None so that there is no vision input to the LLM, see prepare_inputs_labels_for_multimodal() in llava_arch.py
raise ValueError(f"Unknown vision tower: {vision_tower}")