Add V2 APIs for losses: MeanAbsoluteError
, MeanAbsolutePercentageError
, MeanSquaredLogarithmicError
PiperOrigin-RevId: 223422208
This commit is contained in:
parent
ee5f4ebbf4
commit
3a9b2ae05d
@ -116,7 +116,7 @@ class Loss(object):
|
|||||||
NotImplementedError('Must be implemented in subclasses.')
|
NotImplementedError('Must be implemented in subclasses.')
|
||||||
|
|
||||||
|
|
||||||
@tf_export('losses.MeanSquaredError', 'keras.losses.MeanSquaredError')
|
@tf_export('keras.losses.MeanSquaredError')
|
||||||
class MeanSquaredError(Loss):
|
class MeanSquaredError(Loss):
|
||||||
"""Computes the mean of squares of errors between labels and predictions.
|
"""Computes the mean of squares of errors between labels and predictions.
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ class MeanSquaredError(Loss):
|
|||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
mse = tf.losses.MeanSquaredError()
|
mse = tf.keras.losses.MeanSquaredError()
|
||||||
loss = mse([0., 0., 1., 1.], [1., 1., 1., 0.])
|
loss = mse([0., 0., 1., 1.], [1., 1., 1., 0.])
|
||||||
print('Loss: ', loss.numpy()) # Loss: 0.75
|
print('Loss: ', loss.numpy()) # Loss: 0.75
|
||||||
```
|
```
|
||||||
@ -135,7 +135,7 @@ class MeanSquaredError(Loss):
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
model = keras.models.Model(inputs, outputs)
|
model = keras.models.Model(inputs, outputs)
|
||||||
model.compile('sgd', loss=tf.losses.MeanSquaredError())
|
model.compile('sgd', loss=tf.keras.losses.MeanSquaredError())
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -154,6 +154,7 @@ class MeanSquaredError(Loss):
|
|||||||
return mean_squared_error(y_true, y_pred)
|
return mean_squared_error(y_true, y_pred)
|
||||||
|
|
||||||
|
|
||||||
|
@tf_export('keras.losses.MeanAbsoluteError')
|
||||||
class MeanAbsoluteError(Loss):
|
class MeanAbsoluteError(Loss):
|
||||||
"""Computes the mean of absolute difference between labels and predictions.
|
"""Computes the mean of absolute difference between labels and predictions.
|
||||||
|
|
||||||
@ -163,7 +164,7 @@ class MeanAbsoluteError(Loss):
|
|||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
mae = tf.losses.MeanAbsoluteError()
|
mae = tf.keras.losses.MeanAbsoluteError()
|
||||||
loss = mae([0., 0., 1., 1.], [1., 1., 1., 0.])
|
loss = mae([0., 0., 1., 1.], [1., 1., 1., 0.])
|
||||||
print('Loss: ', loss.numpy()) # Loss: 0.75
|
print('Loss: ', loss.numpy()) # Loss: 0.75
|
||||||
```
|
```
|
||||||
@ -172,7 +173,7 @@ class MeanAbsoluteError(Loss):
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
model = keras.models.Model(inputs, outputs)
|
model = keras.models.Model(inputs, outputs)
|
||||||
model.compile('sgd', loss=tf.losses.MeanAbsoluteError())
|
model.compile('sgd', loss=tf.keras.losses.MeanAbsoluteError())
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -191,6 +192,7 @@ class MeanAbsoluteError(Loss):
|
|||||||
return mean_absolute_error(y_true, y_pred)
|
return mean_absolute_error(y_true, y_pred)
|
||||||
|
|
||||||
|
|
||||||
|
@tf_export('keras.losses.MeanAbsolutePercentageError')
|
||||||
class MeanAbsolutePercentageError(Loss):
|
class MeanAbsolutePercentageError(Loss):
|
||||||
"""Computes the mean absolute percentage error between `y_true` and `y_pred`.
|
"""Computes the mean absolute percentage error between `y_true` and `y_pred`.
|
||||||
|
|
||||||
@ -200,7 +202,7 @@ class MeanAbsolutePercentageError(Loss):
|
|||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
mape = tf.losses.MeanAbsolutePercentageError()
|
mape = tf.keras.losses.MeanAbsolutePercentageError()
|
||||||
loss = mape([0., 0., 1., 1.], [1., 1., 1., 0.])
|
loss = mape([0., 0., 1., 1.], [1., 1., 1., 0.])
|
||||||
print('Loss: ', loss.numpy()) # Loss: 5e+08
|
print('Loss: ', loss.numpy()) # Loss: 5e+08
|
||||||
```
|
```
|
||||||
@ -209,7 +211,7 @@ class MeanAbsolutePercentageError(Loss):
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
model = keras.models.Model(inputs, outputs)
|
model = keras.models.Model(inputs, outputs)
|
||||||
model.compile('sgd', loss=tf.losses.MeanAbsolutePercentageError())
|
model.compile('sgd', loss=tf.keras.losses.MeanAbsolutePercentageError())
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -228,6 +230,7 @@ class MeanAbsolutePercentageError(Loss):
|
|||||||
return mean_absolute_percentage_error(y_true, y_pred)
|
return mean_absolute_percentage_error(y_true, y_pred)
|
||||||
|
|
||||||
|
|
||||||
|
@tf_export('keras.losses.MeanSquaredLogarithmicError')
|
||||||
class MeanSquaredLogarithmicError(Loss):
|
class MeanSquaredLogarithmicError(Loss):
|
||||||
"""Computes the mean squared logarithmic error between `y_true` and `y_pred`.
|
"""Computes the mean squared logarithmic error between `y_true` and `y_pred`.
|
||||||
|
|
||||||
@ -237,7 +240,7 @@ class MeanSquaredLogarithmicError(Loss):
|
|||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
msle = tf.losses.MeanSquaredLogarithmicError()
|
msle = tf.keras.losses.MeanSquaredLogarithmicError()
|
||||||
loss = msle([0., 0., 1., 1.], [1., 1., 1., 0.])
|
loss = msle([0., 0., 1., 1.], [1., 1., 1., 0.])
|
||||||
print('Loss: ', loss.numpy()) # Loss: 0.36034
|
print('Loss: ', loss.numpy()) # Loss: 0.36034
|
||||||
```
|
```
|
||||||
@ -246,7 +249,7 @@ class MeanSquaredLogarithmicError(Loss):
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
model = keras.models.Model(inputs, outputs)
|
model = keras.models.Model(inputs, outputs)
|
||||||
model.compile('sgd', loss=tf.losses.MeanSquaredLogarithmicError())
|
model.compile('sgd', loss=tf.keras.losses.MeanSquaredLogarithmicError())
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
path: "tensorflow.keras.losses.MeanAbsoluteError"
|
||||||
|
tf_class {
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.MeanAbsoluteError\'>"
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
||||||
|
is_instance: "<type \'object\'>"
|
||||||
|
member_method {
|
||||||
|
name: "__init__"
|
||||||
|
argspec: "args=[\'self\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'sum_over_batch_size\', \'None\'], "
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "call"
|
||||||
|
argspec: "args=[\'self\', \'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "from_config"
|
||||||
|
argspec: "args=[\'cls\', \'config\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "get_config"
|
||||||
|
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
path: "tensorflow.keras.losses.MeanAbsolutePercentageError"
|
||||||
|
tf_class {
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.MeanAbsolutePercentageError\'>"
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
||||||
|
is_instance: "<type \'object\'>"
|
||||||
|
member_method {
|
||||||
|
name: "__init__"
|
||||||
|
argspec: "args=[\'self\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'sum_over_batch_size\', \'None\'], "
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "call"
|
||||||
|
argspec: "args=[\'self\', \'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "from_config"
|
||||||
|
argspec: "args=[\'cls\', \'config\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "get_config"
|
||||||
|
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
path: "tensorflow.losses.MeanSquaredError"
|
path: "tensorflow.keras.losses.MeanSquaredLogarithmicError"
|
||||||
tf_class {
|
tf_class {
|
||||||
is_instance: "<class \'tensorflow.python.keras.losses.MeanSquaredError\'>"
|
is_instance: "<class \'tensorflow.python.keras.losses.MeanSquaredLogarithmicError\'>"
|
||||||
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
||||||
is_instance: "<type \'object\'>"
|
is_instance: "<type \'object\'>"
|
||||||
member_method {
|
member_method {
|
@ -1,9 +1,21 @@
|
|||||||
path: "tensorflow.keras.losses"
|
path: "tensorflow.keras.losses"
|
||||||
tf_module {
|
tf_module {
|
||||||
|
member {
|
||||||
|
name: "MeanAbsoluteError"
|
||||||
|
mtype: "<type \'type\'>"
|
||||||
|
}
|
||||||
|
member {
|
||||||
|
name: "MeanAbsolutePercentageError"
|
||||||
|
mtype: "<type \'type\'>"
|
||||||
|
}
|
||||||
member {
|
member {
|
||||||
name: "MeanSquaredError"
|
name: "MeanSquaredError"
|
||||||
mtype: "<type \'type\'>"
|
mtype: "<type \'type\'>"
|
||||||
}
|
}
|
||||||
|
member {
|
||||||
|
name: "MeanSquaredLogarithmicError"
|
||||||
|
mtype: "<type \'type\'>"
|
||||||
|
}
|
||||||
member_method {
|
member_method {
|
||||||
name: "KLD"
|
name: "KLD"
|
||||||
argspec: "args=[\'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None"
|
argspec: "args=[\'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
path: "tensorflow.losses"
|
path: "tensorflow.losses"
|
||||||
tf_module {
|
tf_module {
|
||||||
member {
|
|
||||||
name: "MeanSquaredError"
|
|
||||||
mtype: "<type \'type\'>"
|
|
||||||
}
|
|
||||||
member {
|
member {
|
||||||
name: "Reduction"
|
name: "Reduction"
|
||||||
mtype: "<type \'type\'>"
|
mtype: "<type \'type\'>"
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
path: "tensorflow.keras.losses.MeanAbsoluteError"
|
||||||
|
tf_class {
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.MeanAbsoluteError\'>"
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
||||||
|
is_instance: "<type \'object\'>"
|
||||||
|
member_method {
|
||||||
|
name: "__init__"
|
||||||
|
argspec: "args=[\'self\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'sum_over_batch_size\', \'None\'], "
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "call"
|
||||||
|
argspec: "args=[\'self\', \'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "from_config"
|
||||||
|
argspec: "args=[\'cls\', \'config\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "get_config"
|
||||||
|
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
path: "tensorflow.keras.losses.MeanAbsolutePercentageError"
|
||||||
|
tf_class {
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.MeanAbsolutePercentageError\'>"
|
||||||
|
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
||||||
|
is_instance: "<type \'object\'>"
|
||||||
|
member_method {
|
||||||
|
name: "__init__"
|
||||||
|
argspec: "args=[\'self\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'sum_over_batch_size\', \'None\'], "
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "call"
|
||||||
|
argspec: "args=[\'self\', \'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "from_config"
|
||||||
|
argspec: "args=[\'cls\', \'config\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
member_method {
|
||||||
|
name: "get_config"
|
||||||
|
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
path: "tensorflow.losses.MeanSquaredError"
|
path: "tensorflow.keras.losses.MeanSquaredLogarithmicError"
|
||||||
tf_class {
|
tf_class {
|
||||||
is_instance: "<class \'tensorflow.python.keras.losses.MeanSquaredError\'>"
|
is_instance: "<class \'tensorflow.python.keras.losses.MeanSquaredLogarithmicError\'>"
|
||||||
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
is_instance: "<class \'tensorflow.python.keras.losses.Loss\'>"
|
||||||
is_instance: "<type \'object\'>"
|
is_instance: "<type \'object\'>"
|
||||||
member_method {
|
member_method {
|
@ -1,9 +1,21 @@
|
|||||||
path: "tensorflow.keras.losses"
|
path: "tensorflow.keras.losses"
|
||||||
tf_module {
|
tf_module {
|
||||||
|
member {
|
||||||
|
name: "MeanAbsoluteError"
|
||||||
|
mtype: "<type \'type\'>"
|
||||||
|
}
|
||||||
|
member {
|
||||||
|
name: "MeanAbsolutePercentageError"
|
||||||
|
mtype: "<type \'type\'>"
|
||||||
|
}
|
||||||
member {
|
member {
|
||||||
name: "MeanSquaredError"
|
name: "MeanSquaredError"
|
||||||
mtype: "<type \'type\'>"
|
mtype: "<type \'type\'>"
|
||||||
}
|
}
|
||||||
|
member {
|
||||||
|
name: "MeanSquaredLogarithmicError"
|
||||||
|
mtype: "<type \'type\'>"
|
||||||
|
}
|
||||||
member {
|
member {
|
||||||
name: "Reduction"
|
name: "Reduction"
|
||||||
mtype: "<type \'type\'>"
|
mtype: "<type \'type\'>"
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
path: "tensorflow.losses"
|
path: "tensorflow.losses"
|
||||||
tf_module {
|
tf_module {
|
||||||
member {
|
|
||||||
name: "MeanSquaredError"
|
|
||||||
mtype: "<type \'type\'>"
|
|
||||||
}
|
|
||||||
member {
|
member {
|
||||||
name: "Reduction"
|
name: "Reduction"
|
||||||
mtype: "<type \'type\'>"
|
mtype: "<type \'type\'>"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user