Example #1
0
    # 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
Example #3
0
 def runTest(self):
     self.base_test(me.Mean(), 3.90)