diff --git a/local_groundingdino/requirements_groundingdino.txt b/local_groundingdino/requirements_groundingdino.txt deleted file mode 100644 index 713223b..0000000 --- a/local_groundingdino/requirements_groundingdino.txt +++ /dev/null @@ -1,5 +0,0 @@ -torchvision -addict -yapf -opencv-python -supervision==0.6.0 diff --git a/requirements.txt b/requirements.txt index 4032d22..94837f6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ -segment_anything \ No newline at end of file +segment_anything +supervision \ No newline at end of file diff --git a/scripts/dino.py b/scripts/dino.py index a2d1f91..a034196 100644 --- a/scripts/dino.py +++ b/scripts/dino.py @@ -11,7 +11,8 @@ import local_groundingdino dino_model_cache = OrderedDict() -dino_model_dir = os.path.join(scripts.basedir(), "models/grounding-dino") +sam_extension_dir = scripts.basedir() +dino_model_dir = os.path.join(sam_extension_dir, "models/grounding-dino") dino_model_list = ["GroundingDINO_SwinT_OGC (694MB)", "GroundingDINO_SwinB (938MB)"] dino_model_info = { "GroundingDINO_SwinT_OGC (694MB)": { @@ -25,23 +26,9 @@ dino_model_info = { "url": "https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/groundingdino_swinb_cogcoor.pth" }, } - dino_install_issue_text = "permanently switch to local groundingdino on Settings/Segment Anything or submit an issue to https://github.com/IDEA-Research/Grounded-Segment-Anything/issues." -def install_groundingdino_dependencies(): - import launch - local_groundingdino_dir = os.path.join(scripts.basedir(), "local_groundingdino") - local_groundingdino_req_file = os.path.join(local_groundingdino_dir, "requirements_groundingdino.txt") - with open(local_groundingdino_req_file) as file: - for lib in file: - lib = lib.strip() - if not launch.is_installed(lib): - launch.run_pip( - f"install {lib}", - f"groundingdino requirement: {lib}") - - def install_goundingdino(): if shared.opts.data.get("sam_use_local_groundingdino", False): print("Using local groundingdino.") @@ -64,7 +51,6 @@ def install_goundingdino(): run_pip_uninstall( f"groundingdino", f"sd-webui-segment-anything requirement: groundingdino") - install_groundingdino_dependencies() else: print(f"Failed to build dymanic library. Will uninstall GroundingDINO from pip and re-try installing from GitHub source code. Please {dino_install_issue_text}") run_pip_uninstall( @@ -87,7 +73,6 @@ def install_goundingdino(): import traceback traceback.print_exc() print(f"GroundingDINO install failed. Will fall back to local groundingdino this time. Please {dino_install_issue_text}") - install_groundingdino_dependencies() return False