st memory consuming approach. - If set to an `int` (larger than 1), will use that number of thresholds linearly spaced from 0 to 1 as bins for the calculation. - If set to an `list` of floats, will use the indicated thresholds in the list as bins for the calculation - If set to an 1d `tensor` of floats, will use the indicated thresholds in the tensor as bins for the calculation. validate_args: bool indicating if input arguments and tensors should be validated for correctness. Set to ``False`` for faster computations. kwargs: Additional keyword arguments, see :ref:`Metric kwargs` for more info. Returns: (tuple): a tuple of either 2 tensors or 2 lists containing - specificity: an 1d tensor of size (n_classes, ) with the maximum specificity for the given sensitivity level per class - thresholds: an 1d tensor of size (n_classes, ) with the corresponding threshold level per class Example: >>> from torchmetrics.classification import MultilabelSpecificityAtSensitivity >>> from torch import tensor >>> preds = tensor([[0.75, 0.05, 0.35], ... [0.45, 0.75, 0.05], ... [0.05, 0.55, 0.75], ... [0.05, 0.65, 0.05]]) >>> target = tensor([[1, 0, 1], ... [0, 0, 0], ... [0, 1, 1], ... [1, 1, 1]]) >>> metric = MultilabelSpecificityAtSensitivity(num_labels=3, min_sensitivity=0.5, thresholds=None) >>> metric(preds, target) (tensor([1.0000, 0.5000, 1.0000]), tensor([0.7500, 0.6500, 0.3500])) >>> metric = MultilabelSpecificityAtSensitivity(num_labels=3, min_sensitivity=0.5, thresholds=5) >>> metric(preds, target) (tensor([1.0000, 0.5000, 1.0000]), tensor([0.7500, 0.5000, 0.2500])) Fr