tf.contrib.learn.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. (deprecated)
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 >= 2label_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 < 2ValueError
: If loss_fn does not have expected signature.