contrib.learn.multi_label_head
tf.contrib.learn.multi_label_head
tf.contrib.learn.multi_label_head
multi_label_head( n_classes, label_name=None, weight_column_name=None, enable_centered_bias=False, head_name=None, thresholds=None, metric_class_ids=None, loss_fn=None )
Defined in tensorflow/contrib/learn/python/learn/estimators/head.py
.
Creates a Head for multi label classification.
Multi-label classification handles the case where each example may have zero or more associated labels, from a discrete set. This is distinct from multi_class_head
which has exactly one label from a discrete set.
This head by default uses sigmoid cross entropy loss, which expects as input a multi-hot tensor of shape (batch_size, num_classes)
.
Args:
-
n_classes
: Integer, number of classes, must be >= 2 -
label_name
: String, name of the key in label dict. Can be null if label is a tensor (single headed models). -
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. -
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. -
head_name
: name of the head. If provided, predictions, summary and metrics keys will be suffixed by"/" + head_name
and the default variable scope will behead_name
. -
thresholds
: thresholds for eval metrics, defaults to [.5] -
metric_class_ids
: List of class IDs for which we should report per-class metrics. Must all be in the range[0, n_classes)
. -
loss_fn
: Optional function that takes (labels
,logits
,weights
) as parameter and returns a weighted scalar loss.weights
should be optional. Seetf.losses
Returns:
An instance of Head
for multi label classification.
Raises:
-
ValueError
: If n_classes is < 2 -
ValueError
: If loss_fn does not have expected signature.
© 2017 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/contrib/learn/multi_label_head