Spaces:
Sleeping
Sleeping
import os | |
from huggingface_hub import hf_hub_download | |
import shutil | |
def download_models(): | |
# Create directories if they don't exist | |
os.makedirs("weights/icon_detect", exist_ok=True) | |
os.makedirs("weights/icon_caption_florence", exist_ok=True) | |
# Define file mappings (repository path -> local path) | |
files_to_download = { | |
"icon_caption_florence/config.json": "weights/icon_caption_florence/config.json", | |
"icon_caption_florence/generation_config.json": "weights/icon_caption_florence/generation_config.json", | |
"icon_caption_florence/model.safetensors": "weights/icon_caption_florence/model.safetensors", | |
"icon_detect/best.pt": "weights/icon_detect/best.pt" | |
} | |
# Download each file | |
for repo_path, local_path in files_to_download.items(): | |
if not os.path.exists(local_path): | |
print(f"Downloading {repo_path}...") | |
try: | |
downloaded_file = hf_hub_download( | |
repo_id="banao-tech/OmniParser", | |
filename=repo_path, | |
local_dir="temp" | |
) | |
# Move the file to the correct location | |
os.makedirs(os.path.dirname(local_path), exist_ok=True) | |
shutil.move(downloaded_file, local_path) | |
print(f"Successfully downloaded and moved to {local_path} ") | |
except Exception as e: | |
print(f"Error downloading {repo_path}: {str(e)}") | |
# Clean up temp directory | |
if os.path.exists("temp"): | |
shutil.rmtree("temp") | |
if __name__ == "__main__": | |
download_models() |