Save the date! Google I/O returns May 18-20

# tf.keras.losses.squared_hinge

Computes the squared hinge loss between `y_true` and `y_pred`.

`loss = mean(square(maximum(1 - y_true * y_pred, 0)), axis=-1)`

#### Standalone usage:

````y_true = np.random.choice([-1, 1], size=(2, 3))`
`y_pred = np.random.random(size=(2, 3))`
`loss = tf.keras.losses.squared_hinge(y_true, y_pred)`
`assert loss.shape == (2,)`
`assert np.array_equal(`
`    loss.numpy(),`
`    np.mean(np.square(np.maximum(1. - y_true * y_pred, 0.)), axis=-1))`
```

`y_true` The ground truth values. `y_true` values are expected to be -1 or 1. If binary (0 or 1) labels are provided we will convert them to -1 or 1. shape = `[batch_size, d0, .. dN]`.
`y_pred` The predicted values. shape = `[batch_size, d0, .. dN]`.

Squared hinge loss values. shape = `[batch_size, d0, .. dN-1]`.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"没有我需要的信息" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"太复杂/步骤太多" },{ "type": "thumb-down", "id": "outOfDate", "label":"内容需要更新" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"其他" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"易于理解" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"解决了我的问题" },{ "type": "thumb-up", "id": "otherUp", "label":"其他" }]