Skip to content

Commit 5418991

Browse files
committed
Document base Loss class
1 parent c1f2c92 commit 5418991

File tree

5 files changed

+27
-17
lines changed

5 files changed

+27
-17
lines changed

scripts/api_master.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1190,7 +1190,7 @@
11901190
"keras.ops.inv",
11911191
"keras.ops.logdet",
11921192
"keras.ops.lstsq",
1193-
"keras.ops.lu_factor",
1193+
"keras.ops.lu_factor",
11941194
"keras.ops.norm",
11951195
"keras.ops.qr",
11961196
"keras.ops.solve",
@@ -1493,6 +1493,9 @@
14931493
"path": "losses/",
14941494
"title": "Losses",
14951495
"toc": True,
1496+
"generate": [
1497+
"keras.losses.Loss",
1498+
],
14961499
"children": [
14971500
{
14981501
"path": "probabilistic_losses",
@@ -1526,6 +1529,7 @@
15261529
"keras.losses.Huber",
15271530
"keras.losses.LogCosh",
15281531
"keras.losses.Tversky",
1532+
"keras.losses.Dice",
15291533
"keras.losses.mean_squared_error",
15301534
"keras.losses.mean_absolute_error",
15311535
"keras.losses.mean_absolute_percentage_error",
@@ -1534,6 +1538,7 @@
15341538
"keras.losses.huber",
15351539
"keras.losses.log_cosh",
15361540
"keras.losses.tversky",
1541+
"keras.losses.dice",
15371542
],
15381543
},
15391544
{

scripts/cv_api_master.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@
532532
"generate": [
533533
"keras_cv.models.RetinaNet",
534534
"keras_cv.models.RetinaNet.from_preset",
535-
"keras_cv.models.retinanet.PredictionHead"
535+
"keras_cv.models.retinanet.PredictionHead",
536536
],
537537
},
538538
{

scripts/master.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"path": "keras_cv/",
5151
"title": "KerasCV: Computer Vision Workflows",
5252
},
53-
{
53+
{
5454
"path": "keras_nlp/",
5555
"title": "KerasNLP: Natural Language Workflows",
5656
},

templates/api/losses/index.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ and they perform reduction by default when used in a standalone way (see details
1515

1616
{{toc}}
1717

18+
---
19+
20+
## Base Loss API
21+
22+
{{autogenerated}}
1823

1924
---
2025

@@ -74,8 +79,9 @@ A loss is a callable with arguments `loss_fn(y_true, y_pred, sample_weight=None)
7479
By default, loss functions return one scalar loss value per input sample, e.g.
7580

7681
```
77-
>>> keras.losses.mean_squared_error(tf.ones((2, 2,)), tf.zeros((2, 2)))
78-
<tf.Tensor: shape=(2,), dtype=float32, numpy=array([1., 1.], dtype=float32)>
82+
>>> from keras import ops
83+
>>> keras.losses.mean_squared_error(ops.ones((2, 2,)), ops.zeros((2, 2)))
84+
<Array: shape=(2,), dtype=float32, numpy=array([1., 1.], dtype=float32)>
7985
```
8086

8187
However, loss class instances feature a `reduction` constructor argument,
@@ -89,18 +95,18 @@ which defaults to `"sum_over_batch_size"` (i.e. average). Allowable values are
8995

9096
```
9197
>>> loss_fn = keras.losses.MeanSquaredError(reduction='sum_over_batch_size')
92-
>>> loss_fn(tf.ones((2, 2,)), tf.zeros((2, 2)))
93-
<tf.Tensor: shape=(), dtype=float32, numpy=1.0>
98+
>>> loss_fn(ops.ones((2, 2,)), ops.zeros((2, 2)))
99+
<Array: shape=(), dtype=float32, numpy=1.0>
94100
```
95101
```
96102
>>> loss_fn = keras.losses.MeanSquaredError(reduction='sum')
97-
>>> loss_fn(tf.ones((2, 2,)), tf.zeros((2, 2)))
98-
<tf.Tensor: shape=(), dtype=float32, numpy=2.0>
103+
>>> loss_fn(ops.ones((2, 2,)), ops.zeros((2, 2)))
104+
<Array: shape=(), dtype=float32, numpy=2.0>
99105
```
100106
```
101107
>>> loss_fn = keras.losses.MeanSquaredError(reduction='none')
102-
>>> loss_fn(tf.ones((2, 2,)), tf.zeros((2, 2)))
103-
<tf.Tensor: shape=(2,), dtype=float32, numpy=array([1., 1.], dtype=float32)>
108+
>>> loss_fn(ops.ones((2, 2,)), ops.zeros((2, 2)))
109+
<Array: shape=(2,), dtype=float32, numpy=array([1., 1.], dtype=float32)>
104110
```
105111

106112
Note that this is an important difference between loss functions like `keras.losses.mean_squared_error`
@@ -109,13 +115,13 @@ does not perform reduction, but by default the class instance does.
109115

110116
```
111117
>>> loss_fn = keras.losses.mean_squared_error
112-
>>> loss_fn(tf.ones((2, 2,)), tf.zeros((2, 2)))
113-
<tf.Tensor: shape=(2,), dtype=float32, numpy=array([1., 1.], dtype=float32)>
118+
>>> loss_fn(ops.ones((2, 2,)), ops.zeros((2, 2)))
119+
<Array: shape=(2,), dtype=float32, numpy=array([1., 1.], dtype=float32)>
114120
```
115121
```
116122
>>> loss_fn = keras.losses.MeanSquaredError()
117-
>>> loss_fn(tf.ones((2, 2,)), tf.zeros((2, 2)))
118-
<tf.Tensor: shape=(), dtype=float32, numpy=1.0>
123+
>>> loss_fn(ops.ones((2, 2,)), ops.zeros((2, 2)))
124+
<Array: shape=(), dtype=float32, numpy=1.0>
119125
```
120126

121127
When using `fit()`, this difference is irrelevant since reduction is handled by the framework.

templates/api/optimizers/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,11 @@ Check out [the learning rate schedule API documentation](/api/optimizers/learnin
5050

5151
---
5252

53-
## Core Optimizer API
53+
## Base Optimizer API
5454

5555
These methods and attributes are common to all Keras optimizers.
5656

5757
{{autogenerated}}
5858

5959

6060

61-

0 commit comments

Comments
 (0)