In [64]:
import numpy as np
import pickle

In [56]:
lr = 0.1
thr = 1

In [57]:
v = np.array([0.1, 0.5, 0.8, 1.2])

In [58]:
def norm(v, type:str):
    return np.sqrt(np.sum(v**2)) if type=="l2" else max(abs(v))

In [59]:
# n = norm(v, "l2")

In [60]:
n = norm(v, "l1")

In [61]:
print(n)


1.2

In [84]:
d = lr * v
d *= thr/n if n > thr else 1

In [85]:
print(d)


[ 0.00833333  0.04166667  0.06666667  0.1       ]

In [86]:
d = np.load("/home/galvan/development/RNNs/models/temporal_order, min_length: 150/stats.npz")

In [87]:
d.keys()


Out[87]:
['singular_var',
 'dir_norm',
 'settings_batch_size',
 'time_tot',
 'rho',
 'net_n_hidden',
 'grad_dot',
 'validation_error_best',
 'net_n_out',
 'net_output_fnc',
 'validation_loss',
 'time_eval',
 'net_activation_fnc',
 'lr',
 'settings_check_freq',
 'max_singular',
 'net_n_in',
 'elapsed_time',
 'obj_g_var',
 'obj_loss_value',
 'obj_loss_grad',
 'settings_max_it',
 'iteration',
 'task',
 'length',
 'obj_dots_var',
 'net_max_singular',
 '@@',
 'net_rho',
 'validation_error_curr',
 'net_singular_var']

In [88]:
round(d["validation_loss"][-1].item(), 2)


Out[88]:
0.05

In [90]:
res = pickle.load(open("/home/galvan/development/RNNs/models/multi_diag_150_zara/results.pkl", "rb"))

In [93]:
res[0]


Out[93]:
{'clip_thr': 0.01,
 'eig_mean': 1.0,
 'id': 0,
 'loss': 0.28,
 'lr': 0.001,
 'n_iters': 5960,
 'n_succ': 1,
 'std_dev': 0.01}

In [ ]: