Spaces:
Running
on
Zero
Running
on
Zero
| from io import BytesIO | |
| from huggingface_hub import create_repo, upload_file | |
| import tempfile | |
| import os | |
| DEFAULT_ARCHIVE_FILENAME = "archived_graph.pt2" | |
| def _push_compiled_graph_to_hub(archive: BytesIO, repo_id, **kwargs) -> str: | |
| if not isinstance(archive, BytesIO): | |
| raise NotImplementedError("Incorrect type of `archive` provided.") | |
| commit_message = kwargs.pop("commit_message", "Uploaded from spaces.") | |
| private = kwargs.pop("private", False) | |
| path_in_repo = kwargs.pop("path_in_repo", DEFAULT_ARCHIVE_FILENAME) | |
| token = kwargs.pop("token") | |
| repo_id = create_repo(repo_id, private=private, exist_ok=True, token=token).repo_id | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| output_path = os.path.join(tmpdir, os.path.basename(path_in_repo)) | |
| with open(output_path, "wb") as f: | |
| f.write(archive.getvalue()) | |
| try: | |
| info = upload_file( | |
| repo_id=repo_id, | |
| path_or_fileobj=output_path, | |
| path_in_repo=os.path.basename(path_in_repo), | |
| commit_message=commit_message, | |
| token=token, | |
| ) | |
| return info.commit_url | |
| except Exception as e: | |
| print(f"File couldn't be pushed to the Hub with the following error: {e}.") | |
| return e | |