def primal_loss(w_vect, reg, i_primal, record_results=False):
     RS = RandomState((seed, i_primal, "primal"))
     idxs = RS.randint(N_data, size=batch_size)
     minibatch = dictslice(data, idxs)
     loss = loss_fun(w_vect, **minibatch)
     reg = regularization(w_vect, reg)
     if record_results and i_primal % N_thin == 0:
         print "Iter {0}: train: {1}".format(i_primal, getval(loss))
     return loss + reg
 def new_hyperloss(reg, i_hyper, cur_train_data, cur_valid_data):
     RS = RandomState((seed, i_hyper, "hyperloss"))
     w_vect_0 = RS.randn(N_weights) * init_scales
     w_vect_final = train_z(loss_fun, cur_train_data, w_vect_0, reg)
     return loss_fun(w_vect_final, **cur_valid_data)