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 | |