Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Key error initializing GroundedEdgeSAM #1

Open
MichaelHoltonPrice opened this issue Dec 31, 2023 · 2 comments
Open

Key error initializing GroundedEdgeSAM #1

MichaelHoltonPrice opened this issue Dec 31, 2023 · 2 comments

Comments

@MichaelHoltonPrice
Copy link

I receive the following error.

base_model = GroundedEdgeSAM(
... ontology=CaptionOntology(
... {
... "person": "person",
... "forklift": "forklift",
... }
... )
... )
Loading EdgeSAM...
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\mpatm\AppData\Local\Programs\Python\Python310\lib\site-packages\autodistill_grounded_edgesam\grounded_edgesam_model.py", line 77, in init
self.predictor = check_dependencies()
File "C:\Users\mpatm\AppData\Local\Programs\Python\Python310\lib\site-packages\autodistill_grounded_edgesam\grounded_edgesam_model.py", line 59, in check_dependencies
sam = sam_model_registrySAM_ENCODER_VERSION.to(
KeyError: 'edge_sam'

I've confirmed that, indeed, the sam_model_registry dictionary does not contain a key named edge_sam. This code ran without error the first time I ran it, but not the second:

https://github.com/autodistill/autodistill-grounded-edgesam?ref=blog.roboflow.com

I worry that the automatic installs in grounded_edgesam_model.py messed up my configuration. It seems like a bad idea to embed clones and installs in that script. It would be better to trust your users to do the appropriate installs, at most raising an error if there is an issue; this is in line with pythonic principles.

@nihirv
Copy link

nihirv commented Apr 4, 2024

yeah also getting this same issue. If I change the key to "default", I'm getting shape error mismatches between the expected model config and the checkpoint.

EDIT:
Ok, seems that the EdgeSAM repo contains the files needed to get this running:
https://github.com/chongzhou96/EdgeSAM/tree/master

Namely, build_sam.py, common.py and rep_vit.py

I copied these over to the relevant locations in my autodistill lib (highly unrecommended) and the runs fine with "edge_sam" as the key.

Odd that the dependencies for this EdgeSAM weren't updated/modified with this repo

@pascal-maker
Copy link

hello ran into the same error while running : when running import sys
sys.path.append("..")
from segment_anything import sam_model_registry, SamPredictor

sam_checkpoint = "/content/EfficientSAM/edge_sam.pth"
model_type = "edge_sam"

device = "cuda"

sam = sam_model_registrymodel_type
sam.to(device=device)

predictor = SamPredictor(sam) ---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/tmp/ipykernel_11959/398106226.py in <cell line: 10>()
8 device = "cuda"
9
---> 10 sam = sam_model_registrymodel_type
11 sam.to(device=device)
12

KeyError: 'edge_sam is the solution already found ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants