Spaces:
Running on Zero
Running on Zero
| """ | |
| Copyright (c) 2022, salesforce.com, inc. | |
| All rights reserved. | |
| SPDX-License-Identifier: BSD-3-Clause | |
| For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause | |
| """ | |
| import io | |
| import json | |
| import logging | |
| import os | |
| import pickle | |
| import re | |
| import shutil | |
| import urllib | |
| import urllib.error | |
| import urllib.request | |
| from typing import Optional | |
| from urllib.parse import urlparse | |
| import numpy as np | |
| import pandas as pd | |
| import yaml | |
| from iopath.common.download import download | |
| from iopath.common.file_io import file_lock, g_pathmgr | |
| from my_affectgpt.common.registry import registry | |
| from torch.utils.model_zoo import tqdm | |
| def is_url(url_or_filename): | |
| parsed = urlparse(url_or_filename) | |
| return parsed.scheme in ("http", "https") | |
| def get_cache_path(rel_path): | |
| return os.path.expanduser(os.path.join(registry.get_path("cache_root"), rel_path)) | |
| def get_abs_path(rel_path): | |
| return os.path.join(registry.get_path("library_root"), rel_path) | |
| def load_json(filename): | |
| with open(filename, "r") as f: | |
| return json.load(f) | |
| def makedir(dir_path): | |
| """ | |
| Create the directory if it does not exist. | |
| """ | |
| is_success = False | |
| try: | |
| if not g_pathmgr.exists(dir_path): | |
| g_pathmgr.mkdirs(dir_path) | |
| is_success = True | |
| except BaseException: | |
| print(f"Error creating directory: {dir_path}") | |
| return is_success | |
| def abspath(resource_path: str): | |
| """ | |
| Make a path absolute, but take into account prefixes like | |
| "http://" or "manifold://" | |
| """ | |
| regex = re.compile(r"^\w+://") | |
| if regex.match(resource_path) is None: | |
| return os.path.abspath(resource_path) | |
| else: | |
| return resource_path | |
| def makedir(dir_path): | |
| """ | |
| Create the directory if it does not exist. | |
| """ | |
| is_success = False | |
| try: | |
| if not g_pathmgr.exists(dir_path): | |
| g_pathmgr.mkdirs(dir_path) | |
| is_success = True | |
| except BaseException: | |
| logging.info(f"Error creating directory: {dir_path}") | |
| return is_success | |
| def is_url(input_url): | |
| """ | |
| Check if an input string is a url. look for http(s):// and ignoring the case | |
| """ | |
| is_url = re.match(r"^(?:http)s?://", input_url, re.IGNORECASE) is not None | |
| return is_url | |
| def cleanup_dir(dir): | |
| """ | |
| Utility for deleting a directory. Useful for cleaning the storage space | |
| that contains various training artifacts like checkpoints, data etc. | |
| """ | |
| if os.path.exists(dir): | |
| logging.info(f"Deleting directory: {dir}") | |
| shutil.rmtree(dir) | |
| logging.info(f"Deleted contents of directory: {dir}") | |
| def get_file_size(filename): | |
| """ | |
| Given a file, get the size of file in MB | |
| """ | |
| size_in_mb = os.path.getsize(filename) / float(1024**2) | |
| return size_in_mb | |