Spaces:
Running
Running
| # Copyright 2019-present NAVER Corp. | |
| # CC BY-NC-SA 3.0 | |
| # Available only for non-commercial use | |
| import os, pdb#, shutil | |
| import numpy as np | |
| import torch | |
| def mkdir_for(file_path): | |
| os.makedirs(os.path.split(file_path)[0], exist_ok=True) | |
| def model_size(model): | |
| ''' Computes the number of parameters of the model | |
| ''' | |
| size = 0 | |
| for weights in model.state_dict().values(): | |
| size += np.prod(weights.shape) | |
| return size | |
| def torch_set_gpu(gpus): | |
| if type(gpus) is int: | |
| gpus = [gpus] | |
| cuda = all(gpu>=0 for gpu in gpus) | |
| if cuda: | |
| os.environ['CUDA_VISIBLE_DEVICES'] = ','.join([str(gpu) for gpu in gpus]) | |
| assert cuda and torch.cuda.is_available(), "%s has GPUs %s unavailable" % ( | |
| os.environ['HOSTNAME'],os.environ['CUDA_VISIBLE_DEVICES']) | |
| torch.backends.cudnn.benchmark = True # speed-up cudnn | |
| torch.backends.cudnn.fastest = True # even more speed-up? | |
| print( 'Launching on GPUs ' + os.environ['CUDA_VISIBLE_DEVICES'] ) | |
| else: | |
| print( 'Launching on CPU' ) | |
| return cuda | |