# Set models according to settings if FLAGS.mode == TrainMode.WIDE: models = [linear_model] elif FLAGS.mode == TrainMode.DEEP: models = [mlp_model] elif FLAGS.mode == TrainMode.WIDE_AND_DEEP: models = [linear_model, mlp_model] else: raise ValueError('Unsupported option in Boston training %s' % FLAGS.mode) model_metrics = [ metrics.AbsError(), metrics.MeanPredError(), metrics.MedianPredError(), metrics.Mean(), metrics.Std(), metrics.AbsErrorInterval(cuts=[10, 15, 20]), metrics.RMSEInterval(cuts=[10, 15, 20]) ] # Create model joint = JointMDN(mixture=GaussianMixture(components=FLAGS.K), model_dir=utils.get_default_output(), models=models, outputs=dataset.get_num_classes(), l1_reg=FLAGS.l1_regularization, l2_reg=FLAGS.l2_regularization, clip_gradient=FLAGS.gradient_clip) if FLAGS.training:
# Create model joint = JointRegressor(ut.get_default_output(), models=models, outputs=dataset.get_num_classes(), l1_reg=FLAGS.l1_regularization, l2_reg=FLAGS.l2_regularization, loss_fn=MeanSquared(), clip_gradient=FLAGS.gradient_clip) # Define metrics metrics = [ me.AbsError(), me.MeanPredError(), me.MedianPredError(), me.Mean(), me.Std(), me.AbsErrorInterval(cuts=[60, 120, 200, 400]) ] if FLAGS.training: # Start training joint.train(dataset, batch_size=FLAGS.batch_size, track_models=FLAGS.checkpoints, track_summaries=FLAGS.summaries, steps=FLAGS.steps, gpu_frac=FLAGS.gpu_frac, metrics=metrics) else: # Evaluate test
def runTest(self): self.base_test(me.Mean(), 3.90)