# tf.estimator.BoostedTreesClassifier

<br />

|---|---|
| [![](https://www.tensorflow.org/images/tf_logo_32px.png) TensorFlow 2 version](https://www.tensorflow.org/api_docs/python/tf/estimator/BoostedTreesClassifier) | [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/canned/boosted_trees.py) |

A Classifier for Tensorflow Boosted Trees models.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.estimator.BoostedTreesClassifier`](https://www.tensorflow.org/api_docs/python/tf/estimator/BoostedTreesClassifier), \`tf.compat.v2.estimator.BoostedTreesClassifier\`

<br />

    tf.estimator.BoostedTreesClassifier(
        feature_columns, n_batches_per_layer, model_dir=None,
        n_classes=_HOLD_FOR_MULTI_CLASS_SUPPORT, weight_column=None,
        label_vocabulary=None, n_trees=100, max_depth=6, learning_rate=0.1,
        l1_regularization=0.0, l2_regularization=0.0, tree_complexity=0.0,
        min_node_weight=0.0, config=None, center_bias=False, pruning_mode='none',
        quantile_sketch_epsilon=0.01, train_in_memory=False
    )

<br />

<br />

<br />

| ## Args ||
|---|---|
| `feature_columns` | An iterable containing all the feature columns used by the model. All items in the set should be instances of classes derived from `FeatureColumn`. |
| `n_batches_per_layer` | the number of batches to collect statistics per layer. The total number of batches is total number of data divided by batch size. |
| `model_dir` | Directory to save model parameters, graph and etc. This can also be used to load checkpoints from the directory into a estimator to continue training a previously saved model. |
| `n_classes` | number of label classes. Default is binary classification. Multiclass support is not yet implemented. |
| `weight_column` | A string or a `NumericColumn` created by `tf.fc_old.numeric_column` defining feature column representing weights. It is used to downweight or boost examples during training. It will be multiplied by the loss of the example. If it is a string, it is used as a key to fetch weight tensor from the `features`. If it is a `NumericColumn`, raw tensor is fetched by key `weight_column.key`, then weight_column.normalizer_fn is applied on it to get weight tensor. |
| `label_vocabulary` | A list of strings represents possible label values. If given, labels must be string type and have any value in `label_vocabulary`. If it is not given, that means labels are already encoded as integer or float within \[0, 1\] for `n_classes=2` and encoded as integer values in {0, 1,..., n_classes-1} for `n_classes`\>2 . Also there will be errors if vocabulary is not provided and labels are string. |
| `n_trees` | number trees to be created. |
| `max_depth` | maximum depth of the tree to grow. |
| `learning_rate` | shrinkage parameter to be used when a tree added to the model. |
| `l1_regularization` | regularization multiplier applied to the absolute weights of the tree leafs. |
| `l2_regularization` | regularization multiplier applied to the square weights of the tree leafs. |
| `tree_complexity` | regularization factor to penalize trees with more leaves. |
| `min_node_weight` | min_node_weight: minimum hessian a node must have for a split to be considered. The value will be compared with sum(leaf_hessian)/(batch_size \* n_batches_per_layer). |
| `config` | `RunConfig` object to configure the runtime settings. |
| `center_bias` | Whether bias centering needs to occur. Bias centering refers to the first node in the very first tree returning the prediction that is aligned with the original labels distribution. For example, for regression problems, the first node will return the mean of the labels. For binary classification problems, it will return a logit for a prior probability of label 1. |
| `pruning_mode` | one of 'none', 'pre', 'post' to indicate no pruning, pre- pruning (do not split a node if not enough gain is observed) and post pruning (build the tree up to a max depth and then prune branches with negative gain). For pre and post pruning, you MUST provide tree_complexity \>0. |
| `quantile_sketch_epsilon` | float between 0 and 1. Error bound for quantile computation. This is only used for float feature columns, and the number of buckets generated per float feature is 1/quantile_sketch_epsilon. |
| `train_in_memory` | `bool`, when true, it assumes the dataset is in memory, i.e., input_fn should return the entire dataset as a single batch, n_batches_per_layer should be set as 1, num_worker_replicas should be 1, and num_ps_replicas should be 0 in `tf.Estimator.RunConfig`. |

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `ValueError` | when wrong arguments are given or unsupported functionalities are requested. |

<br />

#### Eager Compatibility

Estimators can be used while eager execution is enabled. Note that `input_fn`
and all hooks are executed inside a graph context, so they have to be written
to be compatible with graph mode. Note that `input_fn` code using [`tf.data`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data)
generally works in both graph and eager modes.

<br />

<br />

<br />

| ## Attributes ||
|---|---|
| `config` | <br /> <br /> |
| `model_dir` | <br /> <br /> |
| `model_fn` | Returns the `model_fn` which is bound to `self.params`. |
| `params` | <br /> <br /> |

<br />

## Methods

### `eval_dir`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    eval_dir(
        name=None
    )

Shows the directory name where evaluation metrics are dumped.

<br />

<br />

<br />

| Args ||
|---|---|
| `name` | Name of the evaluation if user needs to run multiple evaluations on different data sets, such as on training data vs test data. Metrics for different evaluations are saved in separate folders, and appear separately in tensorboard. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| A string which is the path of directory contains evaluation metrics. ||

<br />

### `evaluate`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    evaluate(
        input_fn, steps=None, hooks=None, checkpoint_path=None, name=None
    )

Evaluates the model given evaluation data `input_fn`.

For each step, calls `input_fn`, which returns one batch of data.
Evaluates until:

- `steps` batches are processed, or
- `input_fn` raises an end-of-input exception ([`tf.errors.OutOfRangeError`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/errors/OutOfRangeError) or `StopIteration`).

<br />

<br />

<br />

| Args ||
|---|---|
| `input_fn` | A function that constructs the input data for evaluation. See [Premade Estimators](https://tensorflow.org/guide/premade_estimators#create_input_functions) for more information. The function should construct and return one of the following: \* A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data/Dataset) object: Outputs of `Dataset` object must be a tuple `(features, labels)` with same constraints as below. \* A tuple `(features, labels)`: Where `features` is a [`tf.Tensor`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/Tensor) or a dictionary of string feature name to `Tensor` and `labels` is a `Tensor` or a dictionary of string label name to `Tensor`. Both `features` and `labels` are consumed by `model_fn`. They should satisfy the expectation of `model_fn` from inputs. |
| `steps` | Number of steps for which to evaluate model. If `None`, evaluates until `input_fn` raises an end-of-input exception. |
| `hooks` | List of [`tf.train.SessionRunHook`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/train/SessionRunHook) subclass instances. Used for callbacks inside the evaluation call. |
| `checkpoint_path` | Path of a specific checkpoint to evaluate. If `None`, the latest checkpoint in `model_dir` is used. If there are no checkpoints in `model_dir`, evaluation is run with newly initialized `Variables` instead of ones restored from checkpoint. |
| `name` | Name of the evaluation if user needs to run multiple evaluations on different data sets, such as on training data vs test data. Metrics for different evaluations are saved in separate folders, and appear separately in tensorboard. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| A dict containing the evaluation metrics specified in `model_fn` keyed by name, as well as an entry `global_step` which contains the value of the global step for which this evaluation was performed. For canned estimators, the dict contains the `loss` (mean loss per mini-batch) and the `average_loss` (mean loss per sample). Canned classifiers also return the `accuracy`. Canned regressors also return the `label/mean` and the `prediction/mean`. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | If `steps <= 0`. |

<br />

### `experimental_export_all_saved_models`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    experimental_export_all_saved_models(
        export_dir_base, input_receiver_fn_map, assets_extra=None, as_text=False,
        checkpoint_path=None
    )

Exports a `SavedModel` with `tf.MetaGraphDefs` for each requested mode.

For each mode passed in via the `input_receiver_fn_map`,
this method builds a new graph by calling the `input_receiver_fn` to obtain
feature and label `Tensor`s. Next, this method calls the `Estimator`'s
`model_fn` in the passed mode to generate the model graph based on
those features and labels, and restores the given checkpoint
(or, lacking that, the most recent checkpoint) into the graph.
Only one of the modes is used for saving variables to the `SavedModel`
(order of preference: [`tf.estimator.ModeKeys.TRAIN`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/ModeKeys#TRAIN),
[`tf.estimator.ModeKeys.EVAL`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/ModeKeys#EVAL), then
[`tf.estimator.ModeKeys.PREDICT`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/ModeKeys#PREDICT)), such that up to three
`tf.MetaGraphDefs` are saved with a single set of variables in a single
`SavedModel` directory.

For the variables and `tf.MetaGraphDefs`, a timestamped export directory
below
`export_dir_base`, and writes a `SavedModel` into it containing
the [`tf.MetaGraphDef`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/MetaGraphDef) for the given mode and its associated signatures.

For prediction, the exported `MetaGraphDef` will provide one `SignatureDef`
for each element of the `export_outputs` dict returned from the `model_fn`,
named using the same keys. One of these keys is always
[`tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/saved_model/signature_constants#DEFAULT_SERVING_SIGNATURE_DEF_KEY),
indicating which
signature will be served when a serving request does not specify one.
For each signature, the outputs are provided by the corresponding
[`tf.estimator.export.ExportOutput`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/export/ExportOutput)s, and the inputs are always the input
receivers provided by
the `serving_input_receiver_fn`.

For training and evaluation, the `train_op` is stored in an extra
collection,
and loss, metrics, and predictions are included in a `SignatureDef` for the
mode in question.

Extra assets may be written into the `SavedModel` via the `assets_extra`
argument. This should be a dict, where each key gives a destination path
(including the filename) relative to the assets.extra directory. The
corresponding value gives the full path of the source file to be copied.
For example, the simple case of copying a single file without renaming it
is specified as `{'my_asset_file.txt': '/path/to/my_asset_file.txt'}`.

<br />

<br />

<br />

| Args ||
|---|---|
| `export_dir_base` | A string containing a directory in which to create timestamped subdirectories containing exported `SavedModel`s. |
| `input_receiver_fn_map` | dict of [`tf.estimator.ModeKeys`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/ModeKeys) to `input_receiver_fn` mappings, where the `input_receiver_fn` is a function that takes no arguments and returns the appropriate subclass of `InputReceiver`. |
| `assets_extra` | A dict specifying how to populate the assets.extra directory within the exported `SavedModel`, or `None` if no extra assets are needed. |
| `as_text` | whether to write the `SavedModel` proto in text format. |
| `checkpoint_path` | The checkpoint path to export. If `None` (the default), the most recent checkpoint found within the model directory is chosen. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| The string path to the exported directory. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | if any `input_receiver_fn` is `None`, no `export_outputs` are provided, or no checkpoint can be found. |

<br />

### `experimental_feature_importances`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/canned/boosted_trees.py)

    experimental_feature_importances(
        normalize=False
    )

Computes gain-based feature importances.

The higher the value, the more important the corresponding feature.

<br />

<br />

<br />

| Args ||
|---|---|
| `normalize` | If True, normalize the feature importances. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| `feature_importances` | an OrderedDict, where the keys are the feature column names and the values are importances. It is sorted by importance. |

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | When attempting to normalize on an empty ensemble or an ensemble of trees which have no splits. Or when attempting to normalize and feature importances have negative values. |

<br />

### `experimental_predict_with_explanations`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/canned/boosted_trees.py)

    experimental_predict_with_explanations(
        input_fn, predict_keys=None, hooks=None, checkpoint_path=None
    )

Computes model explainability outputs per example along with predictions.

Currently supports directional feature contributions (DFCs). For each
instance, DFCs indicate the aggregate contribution of each feature. See
<https://arxiv.org/abs/1312.1121> and
<http://blog.datadive.net/interpreting-random-forests/> for more details.

<br />

<br />

<br />

| Args ||
|---|---|
| `input_fn` | A function that provides input data for predicting as minibatches. See [Premade Estimators](https://tensorflow.org/guide/premade_estimators#create_input_functions) for more information. The function should construct and return one of the following: <br /> - A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data/Dataset) object: Outputs of `Dataset` object must be a tuple `(features, labels)` with same constraints as below. - A tuple `(features, labels)`: Where `features` is a [`tf.Tensor`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/Tensor) or a dictionary of string feature name to `Tensor` and `labels` is a `Tensor` or a dictionary of string label name to `Tensor`. Both `features` and `labels` are consumed by `model_fn`. They should satisfy the expectation of `model_fn` from inputs. |
| `predict_keys` | list of `str`, name of the keys to predict. It is used if the [`tf.estimator.EstimatorSpec.predictions`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/EstimatorSpec#predictions) is a `dict`. If `predict_keys` is used then rest of the predictions will be filtered from the dictionary, with the exception of 'bias' and 'dfc', which will always be in the dictionary. If `None`, returns all keys in prediction dict, as well as two new keys 'dfc' and 'bias'. |
| `hooks` | List of [`tf.train.SessionRunHook`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/train/SessionRunHook) subclass instances. Used for callbacks inside the prediction call. |
| `checkpoint_path` | Path of a specific checkpoint to predict. If `None`, the latest checkpoint in `model_dir` is used. If there are no checkpoints in `model_dir`, prediction is run with newly initialized `Variables` instead of ones restored from checkpoint. |

#### Yields:

Evaluated values of `predictions` tensors. The `predictions` tensors will
contain at least two keys 'dfc' and 'bias' for model explanations. The
`dfc` value corresponds to the contribution of each feature to the overall
prediction for this instance (positive indicating that the feature makes
it more likely to select class 1 and negative less likely). The `dfc` is
an OrderedDict, where the keys are the feature column names and the values
are the contributions. It is sorted by the absolute value of the
contribution (e.g OrderedDict(\[('age', -0.54), ('gender', 0.4), ('fare',
0.21)\])). The 'bias' value will be the same across all the instances,
corresponding to the probability (classification) or prediction
(regression) of the training data distribution.

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | when wrong arguments are given or unsupported functionalities are requested. |

<br />

### `export_saved_model`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    export_saved_model(
        export_dir_base, serving_input_receiver_fn, assets_extra=None, as_text=False,
        checkpoint_path=None, experimental_mode=ModeKeys.PREDICT
    )

Exports inference graph as a `SavedModel` into the given dir.

For a detailed guide, see
[Using SavedModel with Estimators](https://tensorflow.org/guide/saved_model#using_savedmodel_with_estimators).

This method builds a new graph by first calling the
`serving_input_receiver_fn` to obtain feature `Tensor`s, and then calling
this `Estimator`'s `model_fn` to generate the model graph based on those
features. It restores the given checkpoint (or, lacking that, the most
recent checkpoint) into this graph in a fresh session. Finally it creates
a timestamped export directory below the given `export_dir_base`, and writes
a `SavedModel` into it containing a single [`tf.MetaGraphDef`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/MetaGraphDef) saved from this
session.

The exported `MetaGraphDef` will provide one `SignatureDef` for each
element of the `export_outputs` dict returned from the `model_fn`, named
using
the same keys. One of these keys is always
[`tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/saved_model/signature_constants#DEFAULT_SERVING_SIGNATURE_DEF_KEY),
indicating which
signature will be served when a serving request does not specify one.
For each signature, the outputs are provided by the corresponding
[`tf.estimator.export.ExportOutput`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/export/ExportOutput)s, and the inputs are always the input
receivers provided by
the `serving_input_receiver_fn`.

Extra assets may be written into the `SavedModel` via the `assets_extra`
argument. This should be a dict, where each key gives a destination path
(including the filename) relative to the assets.extra directory. The
corresponding value gives the full path of the source file to be copied.
For example, the simple case of copying a single file without renaming it
is specified as `{'my_asset_file.txt': '/path/to/my_asset_file.txt'}`.

The experimental_mode parameter can be used to export a single
train/eval/predict graph as a `SavedModel`.
See `experimental_export_all_saved_models` for full docs.

<br />

<br />

<br />

| Args ||
|---|---|
| `export_dir_base` | A string containing a directory in which to create timestamped subdirectories containing exported `SavedModel`s. |
| `serving_input_receiver_fn` | A function that takes no argument and returns a [`tf.estimator.export.ServingInputReceiver`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/export/ServingInputReceiver) or [`tf.estimator.export.TensorServingInputReceiver`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/export/TensorServingInputReceiver). |
| `assets_extra` | A dict specifying how to populate the assets.extra directory within the exported `SavedModel`, or `None` if no extra assets are needed. |
| `as_text` | whether to write the `SavedModel` proto in text format. |
| `checkpoint_path` | The checkpoint path to export. If `None` (the default), the most recent checkpoint found within the model directory is chosen. |
| `experimental_mode` | [`tf.estimator.ModeKeys`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/ModeKeys) value indicating with mode will be exported. Note that this feature is experimental. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| The string path to the exported directory. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | if no `serving_input_receiver_fn` is provided, no `export_outputs` are provided, or no checkpoint can be found. |

<br />

### `export_savedmodel`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    export_savedmodel(
        export_dir_base, serving_input_receiver_fn, assets_extra=None, as_text=False,
        checkpoint_path=None, strip_default_attrs=False
    )

Exports inference graph as a `SavedModel` into the given dir. (deprecated)

> [!WARNING]
> **Warning:** THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: This function has been renamed, use `export_saved_model` instead.

For a detailed guide, see
[Using SavedModel with Estimators](https://tensorflow.org/guide/saved_model#using_savedmodel_with_estimators).

This method builds a new graph by first calling the
`serving_input_receiver_fn` to obtain feature `Tensor`s, and then calling
this `Estimator`'s `model_fn` to generate the model graph based on those
features. It restores the given checkpoint (or, lacking that, the most
recent checkpoint) into this graph in a fresh session. Finally it creates
a timestamped export directory below the given `export_dir_base`, and writes
a `SavedModel` into it containing a single [`tf.MetaGraphDef`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/MetaGraphDef) saved from this
session.

The exported `MetaGraphDef` will provide one `SignatureDef` for each
element of the `export_outputs` dict returned from the `model_fn`, named
using
the same keys. One of these keys is always
[`tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/saved_model/signature_constants#DEFAULT_SERVING_SIGNATURE_DEF_KEY),
indicating which
signature will be served when a serving request does not specify one.
For each signature, the outputs are provided by the corresponding
[`tf.estimator.export.ExportOutput`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/export/ExportOutput)s, and the inputs are always the input
receivers provided by
the `serving_input_receiver_fn`.

Extra assets may be written into the `SavedModel` via the `assets_extra`
argument. This should be a dict, where each key gives a destination path
(including the filename) relative to the assets.extra directory. The
corresponding value gives the full path of the source file to be copied.
For example, the simple case of copying a single file without renaming it
is specified as `{'my_asset_file.txt': '/path/to/my_asset_file.txt'}`.

<br />

<br />

<br />

| Args ||
|---|---|
| `export_dir_base` | A string containing a directory in which to create timestamped subdirectories containing exported `SavedModel`s. |
| `serving_input_receiver_fn` | A function that takes no argument and returns a [`tf.estimator.export.ServingInputReceiver`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/export/ServingInputReceiver) or [`tf.estimator.export.TensorServingInputReceiver`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/export/TensorServingInputReceiver). |
| `assets_extra` | A dict specifying how to populate the assets.extra directory within the exported `SavedModel`, or `None` if no extra assets are needed. |
| `as_text` | whether to write the `SavedModel` proto in text format. |
| `checkpoint_path` | The checkpoint path to export. If `None` (the default), the most recent checkpoint found within the model directory is chosen. |
| `strip_default_attrs` | Boolean. If `True`, default-valued attributes will be removed from the `NodeDef`s. For a detailed guide, see [Stripping Default-Valued Attributes](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/saved_model/README.md#stripping-default-valued-attributes). |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| The string path to the exported directory. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | if no `serving_input_receiver_fn` is provided, no `export_outputs` are provided, or no checkpoint can be found. |

<br />

### `get_variable_names`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    get_variable_names()

Returns list of all variable names in this model.

<br />

<br />

<br />

| Returns ||
|---|---|
| List of names. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | If the `Estimator` has not produced a checkpoint yet. |

<br />

### `get_variable_value`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    get_variable_value(
        name
    )

Returns value of the variable given by name.

<br />

<br />

<br />

| Args ||
|---|---|
| `name` | string or a list of string, name of the tensor. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| Numpy array - value of the tensor. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | If the `Estimator` has not produced a checkpoint yet. |

<br />

### `latest_checkpoint`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    latest_checkpoint()

Finds the filename of the latest saved checkpoint file in `model_dir`.

<br />

<br />

<br />

| Returns ||
|---|---|
| The full path to the latest checkpoint or `None` if no checkpoint was found. ||

<br />

### `predict`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    predict(
        input_fn, predict_keys=None, hooks=None, checkpoint_path=None,
        yield_single_examples=True
    )

Yields predictions for given features.

Please note that interleaving two predict outputs does not work. See:
[issue/20506](https://github.com/tensorflow/tensorflow/issues/20506#issuecomment-422208517)

<br />

<br />

<br />

| Args ||
|---|---|
| `input_fn` | A function that constructs the features. Prediction continues until `input_fn` raises an end-of-input exception ([`tf.errors.OutOfRangeError`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/errors/OutOfRangeError) or `StopIteration`). See [Premade Estimators](https://tensorflow.org/guide/premade_estimators#create_input_functions) for more information. The function should construct and return one of the following: <br /> - A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data/Dataset) object: Outputs of `Dataset` object must have same constraints as below. - features: A [`tf.Tensor`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/Tensor) or a dictionary of string feature name to `Tensor`. features are consumed by `model_fn`. They should satisfy the expectation of `model_fn` from inputs. - A tuple, in which case the first item is extracted as features. |
| `predict_keys` | list of `str`, name of the keys to predict. It is used if the [`tf.estimator.EstimatorSpec.predictions`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/EstimatorSpec#predictions) is a `dict`. If `predict_keys` is used then rest of the predictions will be filtered from the dictionary. If `None`, returns all. |
| `hooks` | List of [`tf.train.SessionRunHook`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/train/SessionRunHook) subclass instances. Used for callbacks inside the prediction call. |
| `checkpoint_path` | Path of a specific checkpoint to predict. If `None`, the latest checkpoint in `model_dir` is used. If there are no checkpoints in `model_dir`, prediction is run with newly initialized `Variables` instead of ones restored from checkpoint. |
| `yield_single_examples` | If `False`, yields the whole batch as returned by the `model_fn` instead of decomposing the batch into individual elements. This is useful if `model_fn` returns some tensors whose first dimension is not equal to the batch size. |

#### Yields:

Evaluated values of `predictions` tensors.

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | If batch length of predictions is not the same and `yield_single_examples` is `True`. |
| `ValueError` | If there is a conflict between `predict_keys` and `predictions`. For example if `predict_keys` is not `None` but [`tf.estimator.EstimatorSpec.predictions`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/estimator/EstimatorSpec#predictions) is not a `dict`. |

<br />

### `train`

[View source](https://github.com/tensorflow/estimator/tree/master/tensorflow_estimator/python/estimator/estimator.py)

    train(
        input_fn, hooks=None, steps=None, max_steps=None, saving_listeners=None
    )

Trains a model given training data `input_fn`.

<br />

<br />

<br />

| Args ||
|---|---|
| `input_fn` | A function that provides input data for training as minibatches. See [Premade Estimators](https://tensorflow.org/guide/premade_estimators#create_input_functions) for more information. The function should construct and return one of the following: <br /> - A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data/Dataset) object: Outputs of `Dataset` object must be a tuple `(features, labels)` with same constraints as below. - A tuple `(features, labels)`: Where `features` is a [`tf.Tensor`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/Tensor) or a dictionary of string feature name to `Tensor` and `labels` is a `Tensor` or a dictionary of string label name to `Tensor`. Both `features` and `labels` are consumed by `model_fn`. They should satisfy the expectation of `model_fn` from inputs. |
| `hooks` | List of [`tf.train.SessionRunHook`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/train/SessionRunHook) subclass instances. Used for callbacks inside the training loop. |
| `steps` | Number of steps for which to train the model. If `None`, train forever or train until `input_fn` generates the `tf.errors.OutOfRange` error or `StopIteration` exception. `steps` works incrementally. If you call two times `train(steps=10)` then training occurs in total 20 steps. If `OutOfRange` or `StopIteration` occurs in the middle, training stops before 20 steps. If you don't want to have incremental behavior please set `max_steps` instead. If set, `max_steps` must be `None`. |
| `max_steps` | Number of total steps for which to train model. If `None`, train forever or train until `input_fn` generates the `tf.errors.OutOfRange` error or `StopIteration` exception. If set, `steps` must be `None`. If `OutOfRange` or `StopIteration` occurs in the middle, training stops before `max_steps` steps. Two calls to `train(steps=100)` means 200 training iterations. On the other hand, two calls to `train(max_steps=100)` means that the second call will not do any iteration since first call did all 100 steps. |
| `saving_listeners` | list of `CheckpointSaverListener` objects. Used for callbacks that run immediately before or after checkpoint savings. |

<br />

<br />

<br />

| Returns ||
|---|---|
| `self`, for chaining. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | If both `steps` and `max_steps` are not `None`. |
| `ValueError` | If either `steps` or `max_steps <= 0`. |

<br />