Spaces:
Runtime error
Runtime error
import os | |
from huggingface_hub import hf_hub_download | |
# download_models.py | |
import os | |
from huggingface_hub import hf_hub_download | |
def create_directory(dir_path): | |
""" | |
Create the directory if it doesn't exist. | |
""" | |
if not os.path.exists(dir_path): | |
os.makedirs(dir_path) | |
print(f"Directory {dir_path} created.") | |
else: | |
print(f"Directory {dir_path} already exists.") | |
def download_model(repo_id, filename, destination_dir, token): | |
""" | |
Download the model from Hugging Face and move it to the destination directory. | |
""" | |
# Create destination directory if it doesn't exist | |
create_directory(destination_dir) | |
# Download the file from the Hugging Face Hub using the token | |
model_path = hf_hub_download( | |
repo_id=repo_id, filename=filename, use_auth_token=token | |
) | |
# Move the downloaded file to the destination directory | |
destination_path = os.path.join(destination_dir, filename) | |
os.rename(model_path, destination_path) | |
# Print the full path of the downloaded file | |
full_path = os.path.abspath(destination_path) | |
print(f"Downloaded {filename} and moved to: {full_path}") | |
return full_path | |
def main(): | |
# Get the Hugging Face token from environment variable (automatically provided from the secret) | |
HUGGINGFACE_TOKEN = os.getenv("HF_TOKEN") | |
if HUGGINGFACE_TOKEN is None: | |
raise ValueError( | |
"Hugging Face token is missing. Please set the 'HF_TOKEN' environment variable." | |
) | |
# Define the repositories and filenames | |
magic_gnn_repo = "uripper/magic-gnn" | |
oracle_cards_graph_repo = "uripper/oracle_cards_graph" | |
# Define the files to download and their destination directories | |
card_graph_file = "card_graph.pkl" | |
oracle_cards_graph_file = "oracle_cards_graph.pkl" | |
# Destination directories where the files will be stored | |
card_graph_dir = "./models/magic-gnn" | |
oracle_cards_graph_dir = "./data/oracle_cards_graph" | |
# Download the card_graph.pkl from uripper/magic-gnn | |
card_graph_path = download_model( | |
magic_gnn_repo, card_graph_file, card_graph_dir, HUGGINGFACE_TOKEN | |
) | |
# Download the oracle_cards_graph.pkl from uripper/oracle_cards_graph | |
oracle_cards_graph_path = download_model( | |
oracle_cards_graph_repo, | |
oracle_cards_graph_file, | |
oracle_cards_graph_dir, | |
HUGGINGFACE_TOKEN, | |
) | |
# Print final message with full paths | |
print("\nDownload complete:") | |
print(f"Card Graph: {card_graph_path}") | |
print(f"Oracle Cards Graph: {oracle_cards_graph_path}") | |
if __name__ == "__main__": | |
main() | |