Ejemplo n.º 1
0
Archivo: shims.py Proyecto: qk/unn
 def _train(self, net, tr, va):
     restart = (
         "rmse",  # loss op name
         0.5 * (((va['T'] - va['T'].mean())**2).mean()**0.5),  # threshold
         10  # epoch
     )
     lr = exp_lr(1e-3, 1e-4, 3000, floor=1e-4)
     net.fit(tr, va, 25, 4000, lr=lr, silent=True, restart_check=restart)
     return net
Ejemplo n.º 2
0
def test(estimator, data=None, pretrained=False):
	# test("dohe", "data/benzene.npz")
	preproc, (tr, va, te) = load_simple(
		filename=data,
		sizes=[50e3, 2e3, 10e3],
		verbose=False
	)
	if re.match(r'^doh[oe]\d*$', estimator):
		p100 = re.match(r'\D+(\d+)', estimator)
		p = int(p100.group(1))/100 if p100 is not None else 0.8
		print(estimator,'with p', p)
		net = honet if 'doho' in estimator else henet
		print(net, "(selected dropout variance estimator class)")
		nn = net(preproc.scaling_params, tr[0], len(tr), mu_max=10, keep_prob=p, length_scale=20, n_predictions=50, tf_config=None, name=estimator)
	elif estimator == 'density':
		nn = densnet(preproc.scaling_params, tr[0], mu_max=10, tf_config=None, name=estimator)
	elif estimator == 'density_full':
		nn = fulldensnet(preproc.scaling_params, tr[0], mu_max=10, tf_config=None, name=estimator)
	elif estimator == 'density_re':
		nn = redensnet(preproc.scaling_params, tr[0], mu_max=10, tf_config=None, name=estimator)
	else:
		raise ValueError('estimator not defined: {}'.format(estimator))
	if pretrained:
		nn.load()
	else:
		# lr = cycle_lr(1e-3, 1e-5, 5, 200*len(tr)/25, decay="exp")
		lr = exp_lr(1e-3, 1e-4, 3000, floor=1e-4)
		# lr = 1e-3
		tstart = time.time()
		restart = ("rmse", 1.5, 100)
		nn.fit(tr, va, 25, 4000, lr=lr, silent=True, stop_at={"rmse":0.05}, restart_check=restart)
		# nn.fit(tr, va, 25, 3000, lr=lr, silent=True, stop_at={"rmse":0.05})
		# nn.fit(tr, va, 250, 100, lr=lr, plot_loss='rmse', silent=False)
		# nn.fit(tr, va, 25, 10/60, lr=lr, plot_loss='rmse', silent=False)
		# nn.fit(tr, va, 25, 30/60, lr=lr, plot_loss='rmse', silent=False)
		# nn.fit(tr, va, 25, 10, lr=lr, plot_loss='rmse', silent=False)
		sec = time.time() - tstart
		print("fit in {} hours".format(sec/60/60))
		nn.save()

	pr = nn.predict(va)
	print(((va['E']-pr['E'])**2).mean()**0.5, "va rmse")
	pr = nn.predict(te)
	print(((te['E']-pr['E'])**2).mean()**0.5, "te rmse")
	pp.hist(pr["U"], bins=100)
	pp.title("U {}".format(estimator))
	pp.savefig(os.path.join("figs", estimator + ".jpg"))

	nn.close()
Ejemplo n.º 3
0
Archivo: shims.py Proyecto: qk/unn
 def _train(self, net, tr, va):
     restart = (
         "rmse",  # loss op name
         0.5 * (((va['T'] - va['T'].mean())**2).mean()**0.5),  # threshold
         30  # epoch
     )
     stop = {'rmse': 0.06}
     lr = exp_lr(1e-3, 1e-4, 3000, floor=1e-4)
     net.fit(tr,
             va,
             25,
             12000,
             lr=lr,
             silent=True,
             restart_check=restart,
             stop_at=stop)
     return net
Ejemplo n.º 4
0
Archivo: shims.py Proyecto: qk/unn
 def _train(self, net, tr, va):
     lr = exp_lr(1e-3, 1e-5, 1000, floor=5e-5)
     net.fit(tr, va, 200, 30, lr=lr, silent=True)
     return net
Ejemplo n.º 5
0
Archivo: shims.py Proyecto: qk/unn
 def _train(self, net, tr, va):
     lr = exp_lr(1e-3, 1e-4, 3000, floor=1e-4)
     net.fit(tr, va, 25, 4000, lr=lr, silent=True)
     return net