Spaces:
Sleeping
Sleeping
| ### `save_to_hf.py` | |
| import logging | |
| import os | |
| from huggingface_hub import HfApi, Repository | |
| # Set up logging | |
| logging.basicConfig( | |
| level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" | |
| ) | |
| def push_model_to_huggingface(model_dir, model_name, hf_username): | |
| """Push the model to Hugging Face Hub using the Repository class.""" | |
| try: | |
| # Create a new directory for the repository | |
| repo_dir = f"./{model_name}_repo" # Specify a new directory | |
| os.makedirs(repo_dir, exist_ok=True) | |
| # Initialize the repository | |
| repo_id = f"{hf_username}/{model_name}" | |
| repo = Repository(local_dir=repo_dir, clone_from=repo_id) | |
| # Copy model files to the new repository directory | |
| for filename in os.listdir(model_dir): | |
| full_file_name = os.path.join(model_dir, filename) | |
| if os.path.isfile(full_file_name): | |
| os.rename(full_file_name, os.path.join(repo_dir, filename)) | |
| # Add model files to the repository | |
| repo.git_add() | |
| repo.git_commit("Add custom segmentation model") | |
| repo.git_push() | |
| logging.info(f"Model pushed to Hugging Face Hub: {repo_id}") | |
| except Exception as e: | |
| logging.error(f"Failed to push model to Hugging Face Hub: {str(e)}") | |
| if __name__ == "__main__": | |
| # Define parameters | |
| model_directory = ( | |
| "src/data/processed/finetuned_arctic_ft" # Directory where the model is saved | |
| ) | |
| model_name = "finetuned_arctic_ft" # Name for the model on Hugging Face | |
| hf_username = "vanessaprzybylo" # Replace with your Hugging Face username | |
| # Push the model to Hugging Face | |
| push_model_to_huggingface(model_directory, model_name, hf_username) | |