on_unused_input='warn') funcs['acc_loss'] = theano.function( [inp.input_var, patch_op.input_var, target], [acc, cost], on_unused_input='warn') funcs['predict'] = theano.function([inp.input_var, patch_op.input_var], [pred], on_unused_input='warn') ''' Training (a bit simplified) ''' n_epochs = 50 eval_freq = 1 start_time = time.time() best_trn = 1e5 best_tst = 1e5 kvs = snapshotter.Snapshotter('/home/mabbasloo/ShapeNet/training.snap') for it_count in range(n_epochs): tic = time.time() b_l, b_c, b_s, b_r, b_g, b_a = [], [], [], [], [], [] for x_ in ds.train_iter(): tmp = funcs['train'](*x_) # do some book keeping (store stuff for training curves etc) b_l.append(tmp[0]) b_c.append(tmp[1]) b_r.append(tmp[2]) b_g.append(tmp[3]) b_a.append(tmp[4]) epoch_cost = np.asarray( [np.mean(b_l),
funcs['train'] = theano.function([inp.input_var, patch_op.input_var, target], [cost, cla, l2_weight * regL2, grads_norm, acc], updates=updates, on_unused_input='warn') funcs['acc_loss'] = theano.function([inp.input_var, patch_op.input_var, target], [acc, cost], on_unused_input='warn') funcs['predict'] = theano.function([inp.input_var, patch_op.input_var], [pred], on_unused_input='warn') n_epochs = 50 eval_freq = 1 start_time = time.time() best_trn = 1e5 best_tst = 1e5 kvs = snapshotter.Snapshotter('demo_training.snap') n = 0; for it_count in xrange(n_epochs): tic = time.time() b_l, b_c, b_s, b_r, b_g, b_a = [], [], [], [], [], [] for x_ in ds.train_iter(): tmp = funcs['train'](*x_) b_l.append(tmp[0]) b_c.append(tmp[1]) b_r.append(tmp[2]) b_g.append(tmp[3]) b_a.append(tmp[4]) epoch_cost = np.asarray([np.mean(b_l), np.mean(b_c), np.mean(b_r), np.mean(b_g), np.mean(b_a)]) print(('[Epoch %03i][trn] cost %9.6f (cla %6.4f, reg %6.4f), |grad| = %.06f, acc = %7.5f %% (%.2fsec)') % (it_count, epoch_cost[0], epoch_cost[1], epoch_cost[2], epoch_cost[3], epoch_cost[4] * 100,