diff --git a/sam2/build_sam.py b/sam2/build_sam.py index e55f85e..eb07ca1 100644 --- a/sam2/build_sam.py +++ b/sam2/build_sam.py @@ -79,8 +79,16 @@ def build_sam2_video_predictor( def build_sam2_hf(model_id, **kwargs): - config_file = hf_hub_download(repo_id=model_id, filename=f"{model_id}.yaml") - ckpt_path = hf_hub_download(repo_id=model_id, filename=f"{model_id}.pt") + + model_id_to_filenames = { + "facebook/sam2-hiera-tiny": ("sam2_hiera_t.yaml", "sam2_hiera_tiny.pt"), + "facebook/sam2-hiera-small": ("sam2_hiera_s.yaml", "sam2_hiera_small.pt"), + "facebook/sam2-hiera-base-plus": ("sam2_hiera_b+.yaml", "sam2_hiera_base_plus.pt"), + "facebook/sam2-hiera-large": ("sam2_hiera_l.yaml", "sam2_hiera_large.pt"), + } + config_name, checkpoint_name = model_id_to_filenames[model_id] + config_file = hf_hub_download(repo_id=model_id, filename=config_name) + ckpt_path = hf_hub_download(repo_id=model_id, filename=checkpoint_name) return build_sam2_video_predictor(config_file=config_file, ckpt_path=ckpt_path, **kwargs)