in ml3/sine_regression_task.py [0:0]
def eval(task_sampler, exp_cfg, train_loss_fn, eval_loss_fn):
seed = exp_cfg['seed']
num_tasks = task_sampler.num_tasks_total
np.random.seed(seed)
torch.manual_seed(seed)
mse = []
nmse = []
loss_trace = []
x, y, _, _ = task_sampler.sample()
for i in range(num_tasks):
task_model_test = SineModel(in_dim=exp_cfg['model']['in_dim'],
hidden_dim=exp_cfg['model']['hidden_dim'],
out_dim=1)
loss = regular_train(loss_fn=train_loss_fn, eval_loss_fn=eval_loss_fn, task_model=task_model_test,
x_tr=x[i], y_tr=y[i], exp_cfg=exp_cfg)
yp = task_model_test(x[i])
l = eval_loss_fn(yp, y[i])
mse.append(l.item())
nmse.append(l.item()/y[i].var())
loss_trace.append(loss)
res = {'nmse': nmse, 'mse': mse, 'loss_trace': loss_trace}
return res