def record_results(hyperparam_vect, i_hyper, g): # print "Meta iter {0}. Recording results".format(i_hyper) RS = RandomState((seed, i_hyper, "evaluation")) new_seed = RS.int32() def loss_fun(alphabets, report_train_loss): return np.mean([ hyperloss(hyperparam_vect, new_seed, alphabets=alphabets, verbose=False, report_train_loss=report_train_loss) for i in range(N_alphabets_eval) ]) cur_hyperparams = hyperparams_0.new_vect(hyperparam_vect.copy()) if i_hyper % N_hyper_thin == 0: # Storing O(N_weights) is a bit expensive so we thin it out and store in low precision for field in cur_hyperparams.names: results[field].append(cur_hyperparams[field].astype( np.float16)) results['train_loss'].append( loss_fun(train_alphabets, report_train_loss=True)) results['valid_loss'].append( loss_fun(train_alphabets, report_train_loss=False))
def record_results(hyperparam_vect, i_hyper, g): # print "Meta iter {0}. Recording results".format(i_hyper) RS = RandomState((seed, i_hyper, "evaluation")) new_seed = RS.int32() def loss_fun(alphabets, report_train_loss): return np.mean( [ hyperloss( hyperparam_vect, new_seed, alphabets=alphabets, verbose=False, report_train_loss=report_train_loss, ) for i in range(N_alphabets_eval) ] ) cur_hyperparams = hyperparams_0.new_vect(hyperparam_vect.copy()) if i_hyper % N_hyper_thin == 0: # Storing O(N_weights) is a bit expensive so we thin it out and store in low precision for field in cur_hyperparams.names: results[field].append(cur_hyperparams[field].astype(np.float16)) results["train_loss"].append(loss_fun(train_alphabets, report_train_loss=True)) results["valid_loss"].append(loss_fun(train_alphabets, report_train_loss=False))
def loss_fun(alphabets, report_train_loss): RS = RandomState( (seed, "evaluation")) # Same alphabet with i_hyper now return np.mean([ hyperloss(hyperparam_vect, RS.int32(), alphabets=alphabets, verbose=False, report_train_loss=report_train_loss) for i in range(N_alphabets_eval) ])
def loss_fun(alphabets, report_train_loss): RS = RandomState((seed, "evaluation")) # Same alphabet with i_hyper now return np.mean([hyperloss(hyperparam_vect, RS.int32(), alphabets=alphabets, verbose=False, report_train_loss=report_train_loss) for i in range(N_alphabets_eval)])