Type DNNClassifier
Namespace tensorflow.contrib.learn
Parent Estimator
Interfaces IDNNClassifier
A classifier for TensorFlow DNN models. THIS CLASS IS DEPRECATED. See
[contrib/learn/README.md](https://www.tensorflow.org/code/tensorflow/contrib/learn/README.md)
for general migration instructions. Example:
If the user specifies `label_keys` in constructor, labels must be strings from
the `label_keys` vocabulary. Example:
Input of `fit` and `evaluate` should have following features,
otherwise there will be a `KeyError`: * if `weight_column_name` is not `None`, a feature with
`key=weight_column_name` whose value is a `Tensor`.
* for each `column` in `feature_columns`:
- if `column` is a `SparseColumn`, a feature with `key=column.name`
whose `value` is a `SparseTensor`.
- if `column` is a `WeightedSparseColumn`, two features: the first with
`key` the id column name, the second with `key` the weight column name.
Both features' `value` must be a `SparseTensor`.
- if `column` is a `RealValuedColumn`, a feature with `key=column.name`
whose `value` is a `Tensor`.
Show Example
sparse_feature_a = sparse_column_with_hash_bucket(...) sparse_feature_b = sparse_column_with_hash_bucket(...) sparse_feature_a_emb = embedding_column(sparse_id_column=sparse_feature_a, ...) sparse_feature_b_emb = embedding_column(sparse_id_column=sparse_feature_b, ...) estimator = DNNClassifier( feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb], hidden_units=[1024, 512, 256]) # Or estimator using the ProximalAdagradOptimizer optimizer with # regularization. estimator = DNNClassifier( feature_columns=[sparse_feature_a_emb, sparse_feature_b_emb], hidden_units=[1024, 512, 256], optimizer=tf.compat.v1.train.ProximalAdagradOptimizer( learning_rate=0.1, l1_regularization_strength=0.001 )) # Input builders def input_fn_train: # returns x, y (where y represents label's class index). pass estimator.fit(input_fn=input_fn_train) def input_fn_eval: # returns x, y (where y represents label's class index). pass estimator.evaluate(input_fn=input_fn_eval) def input_fn_predict: # returns x, None pass # predict_classes returns class indices. estimator.predict_classes(input_fn=input_fn_predict)
Methods
Properties
Public instance methods
object predict(IDictionary<string, object> x, PythonFunctionContainer input_fn, int batch_size, IEnumerable<string> outputs, bool as_iterable)
Returns predictions for given features. (deprecated argument values) (deprecated argument values) Warning: SOME ARGUMENT VALUES ARE DEPRECATED: `(as_iterable=False)`. They will be removed after 2016-09-15.
Instructions for updating:
The default behavior of predict() is changing. The default value for
as_iterable will change to True, and then the flag will be removed
altogether. The behavior of this flag is described below. Warning: SOME ARGUMENT VALUES ARE DEPRECATED: `(outputs=None)`. They will be removed after 2017-03-01.
Instructions for updating:
Please switch to predict_classes, or set `outputs` argument. By default, returns predicted classes. But this default will be dropped
soon. Users should either pass `outputs`, or call `predict_classes` method.
Parameters
-
IDictionary<string, object>
x - features.
-
PythonFunctionContainer
input_fn - Input function. If set, x must be None.
-
int
batch_size - Override default batch size.
-
IEnumerable<string>
outputs - list of `str`, name of the output to predict. If `None`, returns classes.
-
bool
as_iterable - If True, return an iterable which keeps yielding predictions for each example until inputs are exhausted. Note: The inputs must terminate if you want the iterable to terminate (e.g. be sure to pass num_epochs=1 if you are using something like read_batch_features).
Returns
-
object
- Numpy array of predicted classes with shape [batch_size] (or an iterable of predicted classes if as_iterable is True). Each predicted class is represented by its class index (i.e. integer from 0 to n_classes-1). If `outputs` is set, returns a dict of predictions.
object predict(IDictionary<string, object> x, PythonFunctionContainer input_fn, IEnumerable<object> batch_size, IEnumerable<string> outputs, bool as_iterable)
Returns predictions for given features. (deprecated argument values) (deprecated argument values) Warning: SOME ARGUMENT VALUES ARE DEPRECATED: `(as_iterable=False)`. They will be removed after 2016-09-15.
Instructions for updating:
The default behavior of predict() is changing. The default value for
as_iterable will change to True, and then the flag will be removed
altogether. The behavior of this flag is described below. Warning: SOME ARGUMENT VALUES ARE DEPRECATED: `(outputs=None)`. They will be removed after 2017-03-01.
Instructions for updating:
Please switch to predict_scores, or set `outputs` argument. By default, returns predicted scores. But this default will be dropped
soon. Users should either pass `outputs`, or call `predict_scores` method.
Parameters
-
IDictionary<string, object>
x - features.
-
PythonFunctionContainer
input_fn - Input function. If set, x must be None.
-
IEnumerable<object>
batch_size - Override default batch size.
-
IEnumerable<string>
outputs - list of `str`, name of the output to predict. If `None`, returns scores.
-
bool
as_iterable - If True, return an iterable which keeps yielding predictions for each example until inputs are exhausted. Note: The inputs must terminate if you want the iterable to terminate (e.g. be sure to pass num_epochs=1 if you are using something like read_batch_features).
Returns
-
object
- Numpy array of predicted scores (or an iterable of predicted scores if as_iterable is True). If `label_dimension == 1`, the shape of the output is `[batch_size]`, otherwise the shape is `[batch_size, label_dimension]`. If `outputs` is set, returns a dict of predictions.
Public static methods
DNNClassifier NewDyn(object hidden_units, object feature_columns, object model_dir, ImplicitContainer<T> n_classes, object weight_column_name, object optimizer, ImplicitContainer<T> activation_fn, object dropout, object gradient_clip_norm, ImplicitContainer<T> enable_centered_bias, object config, object feature_engineering_fn, object embedding_lr_multipliers, object input_layer_min_slice_size, object label_keys)
Initializes a DNNClassifier instance.
Parameters
-
object
hidden_units - List of hidden units per layer. All layers are fully connected. Ex. `[64, 32]` means first layer has 64 nodes and second one has 32.
-
object
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`.
-
object
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.
-
ImplicitContainer<T>
n_classes - number of label classes. Default is binary classification. It must be greater than 1. Note: Class labels are integers representing the class index (i.e. values from 0 to n_classes-1). For arbitrary label values (e.g. string labels), convert to class indices first.
-
object
weight_column_name - A string defining feature column name representing weights. It is used to down weight or boost examples during training. It will be multiplied by the loss of the example.
-
object
optimizer - An instance of `tf.Optimizer` used to train the model. If `None`, will use an Adagrad optimizer.
-
ImplicitContainer<T>
activation_fn - Activation function applied to each layer. If `None`, will use tf.nn.relu. Note that a string containing the unqualified name of the op may also be provided, e.g., "relu", "tanh", or "sigmoid".
-
object
dropout - When not `None`, the probability we will drop out a given coordinate.
-
object
gradient_clip_norm - A float > 0. If provided, gradients are
clipped to their global norm with this clipping ratio. See
tf.clip_by_global_norm
for more details. -
ImplicitContainer<T>
enable_centered_bias - A bool. If True, estimator will learn a centered bias variable for each class. Rest of the model structure learns the residual after centered bias.
-
object
config - `RunConfig` object to configure the runtime settings.
-
object
feature_engineering_fn - Feature engineering function. Takes features and labels which are the output of `input_fn` and returns features and labels which will be fed into the model.
-
object
embedding_lr_multipliers - Optional. A dictionary from `EmbeddingColumn` to a `float` multiplier. Multiplier will be used to multiply with learning rate for the embedding variables.
-
object
input_layer_min_slice_size - Optional. The min slice size of input layer partitions. If not provided, will use the default of 64M.
-
object
label_keys - Optional list of strings with size `[n_classes]` defining the label vocabulary. Only supported for `n_classes` > 2.
Returns
-
DNNClassifier
- A `DNNClassifier` estimator.