示例#1
0
def download_pretrained_models(method, file_ids):
    save_path_root = f'./experiments/pretrained_models/{method}'
    os.makedirs(save_path_root, exist_ok=True)

    for file_name, file_id in file_ids.items():
        save_path = osp.abspath(osp.join(save_path_root, file_name))
        if osp.exists(save_path):
            user_response = input(f'{file_name} already exist. Do you want to cover it? Y/N\n')
            if user_response.lower() == 'y':
                print(f'Covering {file_name} to {save_path}')
                download_file_from_google_drive(file_id, save_path)
            elif user_response.lower() == 'n':
                print(f'Skipping {file_name}')
            else:
                raise ValueError('Wrong input. Only accepts Y/N.')
        else:
            print(f'Downloading {file_name} to {save_path}')
            download_file_from_google_drive(file_id, save_path)
def download_dataset(dataset, file_ids):
    save_path_root = './datasets/'
    os.makedirs(save_path_root, exist_ok=True)

    for file_name, file_id in file_ids.items():
        save_path = osp.abspath(osp.join(save_path_root, file_name))
        if osp.exists(save_path):
            user_response = input(
                f'{file_name} already exist. Do you want to cover it? Y/N\n')
            if user_response.lower() == 'y':
                print(f'Covering {file_name} to {save_path}')
                download_file_from_google_drive(file_id, save_path)
            elif user_response.lower() == 'n':
                print(f'Skipping {file_name}')
            else:
                raise ValueError('Wrong input. Only accpets Y/N.')
        else:
            print(f'Downloading {file_name} to {save_path}')
            download_file_from_google_drive(file_id, save_path)

        # unzip
        if save_path.endswith('.zip'):
            extracted_path = save_path.replace('.zip', '')
            print(f'Extract {save_path} to {extracted_path}')
            import zipfile
            with zipfile.ZipFile(save_path, 'r') as zip_ref:
                zip_ref.extractall(extracted_path)

            file_name = file_name.replace('.zip', '')
            subfolder = osp.join(extracted_path, file_name)
            if osp.isdir(subfolder):
                print(f'Move {subfolder} to {extracted_path}')
                import shutil
                for path in glob.glob(osp.join(subfolder, '*')):
                    shutil.move(path, extracted_path)
                shutil.rmtree(subfolder)
示例#3
0
import argparse

from basicsr.utils.download_util import download_file_from_google_drive

if __name__ == '__main__':
    parser = argparse.ArgumentParser()

    parser.add_argument('--id', type=str, help='File id')
    parser.add_argument('--output', type=str, help='Save path')
    args = parser.parse_args()

    download_file_from_google_drive(args.id, args.save_path)