import os import urllib.request import requests import shutil inception_url = "https://nvlabs-fi-cdn.nvidia.com/stylegan2-ada-pytorch/pretrained/metrics/inception-2015-12-05.pt" """ Download the pretrined inception weights if it does not exists ARGS: fpath - output folder path """ def check_download_inception(fpath="./"): inception_path = os.path.join(fpath, "inception-2015-12-05.pt") if not os.path.exists(inception_path): # download the file with urllib.request.urlopen(inception_url) as response, open( inception_path, "wb" ) as f: shutil.copyfileobj(response, f) return inception_path """ Download any url if it does not exist ARGS: local_folder - output folder path url - the weburl to download """ def check_download_url(local_folder, url): name = os.path.basename(url) local_path = os.path.join(local_folder, name) if not os.path.exists(local_path): os.makedirs(local_folder, exist_ok=True) print(f"downloading statistics to {local_path}") with urllib.request.urlopen(url) as response, open(local_path, "wb") as f: shutil.copyfileobj(response, f) return local_path """ Download a file from google drive ARGS: file_id - id of the google drive file out_path - output folder path """ def download_google_drive(file_id, out_path): def get_confirm_token(response): for key, value in response.cookies.items(): if key.startswith("download_warning"): return value return None URL = "https://drive.google.com/uc?export=download" session = requests.Session() response = session.get(URL, params={"id": file_id}, stream=True) token = get_confirm_token(response) if token: params = {"id": file_id, "confirm": token} response = session.get(URL, params=params, stream=True) CHUNK_SIZE = 32768 with open(out_path, "wb") as f: for chunk in response.iter_content(CHUNK_SIZE): if chunk: f.write(chunk)