def export(self, export_dir, input_fn, signature_fn=None, input_feature_key=None, default_batch_size=1): """See BaseEstimator.export.""" # Reset model function with basic device assigner. # Servo doesn't support distributed inference # but it will try to respect device assignments if they're there. # pylint: disable=protected-access orig_model_fn = self._estimator._model_fn self._estimator._model_fn = get_model_fn( self.params, self.graph_builder_class, tensor_forest.RandomForestDeviceAssigner(), weights_name=self.weights_name) result = self._estimator.export( export_dir=export_dir, input_fn=input_fn, input_feature_key=input_feature_key, use_deprecated_input_fn=False, signature_fn=(signature_fn or (export.regression_signature_fn if self.params.regression else export.classification_signature_fn_with_prob)), default_batch_size=default_batch_size, prediction_key=eval_metrics.INFERENCE_PROB_NAME) self._estimator._model_fn = orig_model_fn # pylint: enable=protected-access return result
def __init__(self, params, device_assigner=None, model_dir=None, graph_builder_class=tensor_forest.RandomForestGraphs, master='', accuracy_metric=None, tf_random_seed=None, config=None, feature_engineering_fn=None): self.params = params.fill() self.accuracy_metric = ( accuracy_metric or ('r2' if self.params.regression else 'accuracy')) self.data_feeder = None self.device_assigner = (device_assigner or tensor_forest.RandomForestDeviceAssigner()) self.graph_builder_class = graph_builder_class self.training_args = {} self.construction_args = {} self._feature_engineering_fn = (feature_engineering_fn or (lambda features, targets: (features, targets))) super(TensorForestEstimator, self).__init__(model_dir=model_dir, config=config)
def __init__(self, params, device_assigner=None, model_dir=None, graph_builder_class=tensor_forest.RandomForestGraphs, master='', accuracy_metric=None, tf_random_seed=None, continue_training=False, verbose=1, max_to_keep=5, save_checkpoint_secs=300): self.params = params.fill() self.accuracy_metric = ( accuracy_metric or ('r2' if self.params.regression else 'accuracy')) self.data_feeder = None self.device_assigner = (device_assigner or tensor_forest.RandomForestDeviceAssigner()) self.graph_builder_class = graph_builder_class self.training_args = {} self.construction_args = {} config = run_config.RunConfig( master=master, tf_random_seed=(tf_random_seed or int( (time.time() * 1000) % 1000)), save_checkpoints_secs=save_checkpoint_secs, keep_checkpoint_max=max_to_keep) super(TensorForestEstimator, self).__init__(model_dir=model_dir, config=config)
def __init__(self, params, device_assigner=None, optimizer_class=adagrad.AdagradOptimizer, **kwargs): self.device_assigner = ( device_assigner or tensor_forest.RandomForestDeviceAssigner()) self.params = params self.optimizer = optimizer_class(self.params.learning_rate) self.is_regression = params.regression self.regularizer = None if params.regularization == "l1": self.regularizer = layers.l1_regularizer( self.params.regularization_strength) elif params.regularization == "l2": self.regularizer = layers.l2_regularizer( self.params.regularization_strength)
def __init__(self, params, layer_num, device_assigner, *args, **kwargs): self.layer_num = layer_num self.device_assigner = (device_assigner or tensor_forest.RandomForestDeviceAssigner()) self.params = params self._define_vars(params, **kwargs)