Creates a Head for multi label classification. (deprecated)
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
)
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 be head_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. See tf.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. |