# Hingeloss

> Compute the HingeLoss metric — provided by torchmetrics. Use when the user has predictions and ground-truth and needs to compute HingeLoss, or asks how to score with HingeLoss.

- Skill: `qhjqhj00/hingeloss` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/hingeloss`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/hingeloss/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/hingeloss

---


# hingeloss

> Metric `HingeLoss` from `torchmetrics` (torchmetrics.HingeLoss)

## When to invoke this skill

The user has predictions + ground truth and asks to evaluate with HingeLoss, or
mentions `torchmetrics.HingeLoss` directly, or wants the standard torchmetrics implementation.

## Reference signature

```python
from torchmetrics import HingeLoss

# HingeLoss(task: Literal['binary', 'multiclass'], num_classes: Optional[int] = None, squared: bool = False, multiclass_mode: Optional[Literal['crammer-singer', 'one-vs-all']] = 'crammer-singer', ignore_index: Optional[int] = None, validate_args: bool = True, **kwargs: Any) -> torchmetrics.metric.Metric
```

## Library docstring

```
Compute the mean `Hinge loss`_ typically used for Support Vector Machines (SVMs).

This function is a simple wrapper to get the task specific versions of this metric, which is done by setting the
``task`` argument to either ``'binary'`` or ``'multiclass'``. See the documentation of
:class:`~torchmetrics.classification.BinaryHingeLoss` and :class:`~torchmetrics.classification.MulticlassHingeLoss`
for the specific details of each argument influence and examples.

Legacy Example:
    >>> from torch import tensor
    >>> target = tensor([0, 1, 1])
    >>> preds = tensor([0.5, 0.7, 0.1])
    >>> hinge = HingeLoss(task="binary")
    >>> hinge(preds, target)
    tensor(0.9000)

    >>> target = tensor([0, 1, 2])
    >>> preds = tensor([[-1.0, 0.9, 0.2], [0.5, -1.1, 0.8], [2.2, -0.5, 0.3]])
    >>> hinge = HingeLoss(task="multiclass", num_classes=3)
    >>> hinge(preds, target)
    tensor(1.5551)

    >>> target = tensor([0, 1, 2])
    >>> preds = tensor([[-1.0, 0.9, 0.2], [0.5, -1.1, 0.8], [2.2, -0.5, 0.3]])
    >>> hinge = HingeLoss(task="multiclass", num_classes=3, multiclass_mode="one-vs-all")
    >>> hinge(preds, target)
    tensor([1.3743, 1.1945, 1.2359])
```

## Quick recipe

```python
import torchmetrics as _m
score = _m.HingeLoss(y_true, y_pred)
```

## Don'ts

- Don't reimplement when the library version handles edge cases (NaN, ties, empty inputs) better than a hand-rolled formula.
- Always check the library version's argument order — sklearn is `(y_true, y_pred)` while torchmetrics is `(preds, target)`.

