Пример #1
0
  def _CalibratedLinearRegressorWithQuantiles(self, feature_names,
                                              feature_columns, **hparams_args):
    """Model that saves/retrieves quantiles."""

    # Quantiles to be used for x2
    quantiles_dir = self.get_temp_dir()
    keypoints_initialization.save_quantiles_for_keypoints(
        input_fn=self._test_data.threed_input_fn(True),
        save_dir=quantiles_dir,
        feature_columns=feature_columns,
        num_steps=1)

    # Keypoint initialization function for x0 and x1
    def init_fn():
      return keypoints_initialization.uniform_keypoints_for_signal(
          _NUM_KEYPOINTS, -1., 1., -1., 1.)

    hparams = tfl_hparams.CalibratedLinearHParams(
        feature_names, num_keypoints=_NUM_KEYPOINTS, **hparams_args)
    return calibrated_linear.calibrated_linear_regressor(
        feature_columns=feature_columns,
        hparams=hparams,
        keypoints_initializers_fn={
            'x0': init_fn,
            'x1': init_fn
        },
        quantiles_dir=quantiles_dir  # Used for 'x2'
    )
    def _CalibratedLinearClassifier(self, feature_names, feature_columns,
                                    **hparams_args):
        def init_fn():
            return keypoints_initialization.uniform_keypoints_for_signal(
                _NUM_KEYPOINTS, -1., 1., -1., 1.)

        hparams = tfl_hparams.CalibratedLinearHParams(
            feature_names, num_keypoints=_NUM_KEYPOINTS, **hparams_args)
        return calibrated_linear.calibrated_linear_classifier(
            feature_columns=feature_columns,
            hparams=hparams,
            keypoints_initializers_fn=init_fn)
Пример #3
0
  def testConstructorsAllTypes(self):
    _ = hparams.CalibratedHParams(['x0', 'x1'])
    _ = hparams.CalibratedLinearHParams(['x0', 'x1'], learning_rate=0.1)
    _ = hparams.CalibratedLatticeHParams(['x0', 'x1'], learning_rate=0.1)
    _ = hparams.CalibratedRtlHParams(['x0', 'x1'], learning_rate=0.1)
    etl = hparams.CalibratedEtlHParams(['x0', 'x1'], learning_rate=0.1)

    etl.parse('calibration_bound=yes')
    self.assertTrue(etl.calibration_bound)
    etl.parse('calibration_bound=off')
    self.assertFalse(etl.calibration_bound)
    with self.assertRaises(ValueError):
      etl.parse('calibration_bound=foobar')
Пример #4
0
  def __init__(self,
               n_classes,
               feature_columns=None,
               model_dir=None,
               quantiles_dir=None,
               keypoints_initializers_fn=None,
               optimizer=None,
               config=None,
               hparams=None):
    """Construct CalibrateLinearClassifier/Regressor."""
    if not hparams:
      hparams = tfl_hparams.CalibratedLinearHParams([])
    self.check_hparams(hparams)

    super(_CalibratedLinear,
          self).__init__(n_classes, feature_columns, model_dir, quantiles_dir,
                         keypoints_initializers_fn, optimizer, config, hparams,
                         'linear')
Пример #5
0
 def testAddNonExistingPerFeatureParam(self):
   hp = hparams.CalibratedLinearHParams(['x0', 'x1'])
   hp.set_feature_param('x0', 'calibration_l2_laplacian_reg', 0.1)
   self.assertAlmostEqual(
       hp.get_feature_param('x0', 'calibration_l2_laplacian_reg'), 0.1)