-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathutils.py
More file actions
27 lines (19 loc) · 861 Bytes
/
utils.py
File metadata and controls
27 lines (19 loc) · 861 Bytes
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
import numpy as np
from torch.optim.lr_scheduler import _LRScheduler
from scipy.stats import pearsonr, spearmanr
class WarmUpLR(_LRScheduler):
def __init__(self, optimizer, total_iters, last_epoch=-1):
self.total_iters = total_iters
super().__init__(optimizer, last_epoch)
def get_lr(self):
return [base_lr * self.last_epoch / (self.total_iters + 1e-8) for base_lr in self.base_lrs]
def evaInfo(score,label):
score = np.array(score)
label = np.array(label)
RMAE = np.sqrt(np.abs(score - label).mean())
RMSE = np.sqrt(np.mean(np.abs(score - label) ** 2))
Pearson = pearsonr(label, score)[0]
Spearmanr = spearmanr(label, score)[0]
info = ' RMSE : {:.4f} , RMAE : {:.4f} , Pearsonr : {:.4f} , Spearmanr : {:.4f}'.format(
RMSE, RMAE, Pearson, Spearmanr)
return info