Spaces:
Sleeping
Sleeping
File size: 1,257 Bytes
884c49d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import os
import urllib.request
def download_model(model_type):
"""
model_type: str, A string representing the model type. It can be 'vit_h', 'vit_l', or 'vit_b'.
"""
# A dictionary containing model types as keys and their respective URLs as values
model_urls = {
"vit_h": "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth",
"vit_l": "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth",
"vit_b": "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth",
}
# Check if the model file already exists and model_type is in model_urls
filename = f"{model_type}.pth"
if not os.path.exists(filename) and model_type in model_urls:
url = model_urls[model_type]
print(f"Downloading {model_type} model from {url}...")
urllib.request.urlretrieve(url, filename)
print(f"{model_type} model has been successfully downloaded and saved as '{filename}'.")
elif os.path.exists(filename):
print(f"{model_type} model already exists as '{filename}'. Skipping download.")
else:
raise ValueError("Invalid model type. It should be 'vit_h', 'vit_l', or 'vit_b'.")
return filename
download_model("vit_b")
|