File size: 1,284 Bytes
4349b9b c6541c4 9224c6a 4349b9b 6f405dd c6541c4 4349b9b b0e0141 e423ce0 6c4313a e423ce0 4349b9b fa99492 4349b9b e423ce0 4349b9b e423ce0 4349b9b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import json
import math
import random
import torch
def GetDevice():
return torch.device("cuda" if torch.cuda.is_available() else "cpu")
def RandomCode():
code = '';
chars = '0123456789abcdef'
count = 8;
for i in range(0, count):
code += chars[math.floor(random.randrange(len(chars)))]
return code
def RoundNumber(number):
suffixes = ['', 'k', 'm', 'b']
if number < 1000:
return str(number)
magnitude = 0
while abs(number) >= 1000:
magnitude += 1
number /= 1000.0
return '{:.0f}{}'.format(number, suffixes[magnitude])
def GetNumParams(model):
size = sum(p.numel() for p in model.parameters())
rounded_size = RoundNumber(size)
return size, rounded_size
class Config:
def __init__(self, data):
for key, value in data.items():
if isinstance(value, dict):
setattr(self, key, Config(value))
else:
setattr(self, key, value)
class ConfigParser:
def __init__(self, path: str):
with open(path, 'r') as f:
json_dict = json.load(f)
#config = json.loads(json_str, object_hook=lambda x: SimpleNamespace(**x))
config = Config(json_dict)
self.config = config
|