Add V2 APIs for losses: MeanAbsoluteError, MeanAbsolutePercentageError, MeanSquaredLogarithmicError

PiperOrigin-RevId: 223422208
This commit is contained in:
Pavithra Vijay 2018-11-29 15:26:27 -08:00 committed by TensorFlower Gardener
parent ee5f4ebbf4
commit 3a9b2ae05d
11 changed files with 128 additions and 21 deletions

View File

@ -116,7 +116,7 @@ class Loss(object):
NotImplementedError('Must be implemented in subclasses.')
@tf_export('losses.MeanSquaredError', 'keras.losses.MeanSquaredError')
@tf_export('keras.losses.MeanSquaredError')
class MeanSquaredError(Loss):
"""Computes the mean of squares of errors between labels and predictions.
@ -126,7 +126,7 @@ class MeanSquaredError(Loss):
Usage:
```python
mse = tf.losses.MeanSquaredError()
mse = tf.keras.losses.MeanSquaredError()
loss = mse([0., 0., 1., 1.], [1., 1., 1., 0.])
print('Loss: ', loss.numpy()) # Loss: 0.75
```
@ -135,7 +135,7 @@ class MeanSquaredError(Loss):
```python
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)
@tf_export('keras.losses.MeanAbsoluteError')
class MeanAbsoluteError(Loss):
"""Computes the mean of absolute difference between labels and predictions.
@ -163,7 +164,7 @@ class MeanAbsoluteError(Loss):
Usage:
```python
mae = tf.losses.MeanAbsoluteError()
mae = tf.keras.losses.MeanAbsoluteError()
loss = mae([0., 0., 1., 1.], [1., 1., 1., 0.])
print('Loss: ', loss.numpy()) # Loss: 0.75
```
@ -172,7 +173,7 @@ class MeanAbsoluteError(Loss):
```python
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)
@tf_export('keras.losses.MeanAbsolutePercentageError')
class MeanAbsolutePercentageError(Loss):
"""Computes the mean absolute percentage error between `y_true` and `y_pred`.
@ -200,7 +202,7 @@ class MeanAbsolutePercentageError(Loss):
Usage:
```python
mape = tf.losses.MeanAbsolutePercentageError()
mape = tf.keras.losses.MeanAbsolutePercentageError()
loss = mape([0., 0., 1., 1.], [1., 1., 1., 0.])
print('Loss: ', loss.numpy()) # Loss: 5e+08
```
@ -209,7 +211,7 @@ class MeanAbsolutePercentageError(Loss):
```python
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)
@tf_export('keras.losses.MeanSquaredLogarithmicError')
class MeanSquaredLogarithmicError(Loss):
"""Computes the mean squared logarithmic error between `y_true` and `y_pred`.
@ -237,7 +240,7 @@ class MeanSquaredLogarithmicError(Loss):
Usage:
```python
msle = tf.losses.MeanSquaredLogarithmicError()
msle = tf.keras.losses.MeanSquaredLogarithmicError()
loss = msle([0., 0., 1., 1.], [1., 1., 1., 0.])
print('Loss: ', loss.numpy()) # Loss: 0.36034
```
@ -246,7 +249,7 @@ class MeanSquaredLogarithmicError(Loss):
```python
model = keras.models.Model(inputs, outputs)
model.compile('sgd', loss=tf.losses.MeanSquaredLogarithmicError())
model.compile('sgd', loss=tf.keras.losses.MeanSquaredLogarithmicError())
```
"""

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -1,6 +1,6 @@
path: "tensorflow.losses.MeanSquaredError"
path: "tensorflow.keras.losses.MeanSquaredLogarithmicError"
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: "<type \'object\'>"
member_method {

View File

@ -1,9 +1,21 @@
path: "tensorflow.keras.losses"
tf_module {
member {
name: "MeanAbsoluteError"
mtype: "<type \'type\'>"
}
member {
name: "MeanAbsolutePercentageError"
mtype: "<type \'type\'>"
}
member {
name: "MeanSquaredError"
mtype: "<type \'type\'>"
}
member {
name: "MeanSquaredLogarithmicError"
mtype: "<type \'type\'>"
}
member_method {
name: "KLD"
argspec: "args=[\'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None"

View File

@ -1,9 +1,5 @@
path: "tensorflow.losses"
tf_module {
member {
name: "MeanSquaredError"
mtype: "<type \'type\'>"
}
member {
name: "Reduction"
mtype: "<type \'type\'>"

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -1,6 +1,6 @@
path: "tensorflow.losses.MeanSquaredError"
path: "tensorflow.keras.losses.MeanSquaredLogarithmicError"
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: "<type \'object\'>"
member_method {

View File

@ -1,9 +1,21 @@
path: "tensorflow.keras.losses"
tf_module {
member {
name: "MeanAbsoluteError"
mtype: "<type \'type\'>"
}
member {
name: "MeanAbsolutePercentageError"
mtype: "<type \'type\'>"
}
member {
name: "MeanSquaredError"
mtype: "<type \'type\'>"
}
member {
name: "MeanSquaredLogarithmicError"
mtype: "<type \'type\'>"
}
member {
name: "Reduction"
mtype: "<type \'type\'>"

View File

@ -1,9 +1,5 @@
path: "tensorflow.losses"
tf_module {
member {
name: "MeanSquaredError"
mtype: "<type \'type\'>"
}
member {
name: "Reduction"
mtype: "<type \'type\'>"