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 results = joint.evaluate(dataset, data_mode=DataMode.TEST,
elif FLAGS.mode == TrainMode.WIDE_AND_DEEP: models = [linear_model, mlp_model] elif FLAGS.mode == TrainMode.CNN: models = [cnn_model] elif FLAGS.mode == TrainMode.ALL: models = [cnn_model, linear_model, mlp_model] # Define model, loss and metrics according to model type logger.info('Regression problem for column %s' % dataset.target_class()) model_metrics = [ metrics.AbsError(), metrics.MeanPredError(), metrics.MedianPredError(), metrics.Mean(), metrics.Std(), metrics.AbsErrorInterval(cuts=[50, 100, 150, 250]) ] # Build model joint = JointRegressor(utils.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) if FLAGS.training: if FLAGS.validate: # Train using validation
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: # Start training joint.train(dataset,
def runTest(self): self.base_test(me.AbsErrorInterval(cuts=[3.0, 5.0, 7.0]), [0.625, 0.5, np.nan, 1.375])