用法
add_loss(
losses, **kwargs
)
参数
-
losses
损失张量,或张量列表/元组。除了张量,损失也可能是创建损失张量的zero-argument callables。 -
**kwargs
用于向后兼容的附加关键字参数。接受的值:输入 - 已弃用,将自动推断。
添加损失张量,可能取决于层输入。
一些损失(例如,活动正则化损失)可能取决于调用层时传递的输入。因此,当在不同的输入 a
和 b
上重用同一层时,layer.losses
中的一些条目可能依赖于 a
和一些依赖于 b
。此方法自动跟踪依赖关系。
此方法可以在子类层或模型的call
函数中使用,在这种情况下,losses
应该是张量或张量列表。
例子:
class MyLayer(tf.keras.layers.Layer):
def call(self, inputs):
self.add_loss(tf.abs(tf.reduce_mean(inputs)))
return inputs
该方法也可以在构造过程中直接在函数模型上调用。在这种情况下,传递给此模型的任何损失张量都必须是象征性的,并且能够追溯到模型的 Input
s。这些损失成为模型拓扑的一部分,并在 get_config
中进行跟踪。
例子:
inputs = tf.keras.Input(shape=(10,))
x = tf.keras.layers.Dense(10)(inputs)
outputs = tf.keras.layers.Dense(1)(x)
model = tf.keras.Model(inputs, outputs)
# Activity regularization.
model.add_loss(tf.abs(tf.reduce_mean(x)))
如果您的损失不是这种情况(例如,如果您的损失引用了模型层之一的 Variable
),您可以将损失包装在 zero-argument lambda 中。这些损失不会作为模型拓扑的一部分进行跟踪,因为它们无法序列化。
例子:
inputs = tf.keras.Input(shape=(10,))
d = tf.keras.layers.Dense(10)
x = d(inputs)
outputs = tf.keras.layers.Dense(1)(x)
model = tf.keras.Model(inputs, outputs)
# Weight regularization.
model.add_loss(lambda:tf.reduce_mean(d.kernel))
相关用法
- Python tf.keras.layers.Layer.add_metric用法及代码示例
- Python tf.keras.layers.Layer.set_weights用法及代码示例
- Python tf.keras.layers.Layer.get_weights用法及代码示例
- Python tf.keras.layers.LayerNormalization用法及代码示例
- Python tf.keras.layers.Layer用法及代码示例
- Python tf.keras.layers.Lambda用法及代码示例
- Python tf.keras.layers.LocallyConnected1D用法及代码示例
- Python tf.keras.layers.LSTMCell用法及代码示例
- Python tf.keras.layers.LSTM用法及代码示例
- Python tf.keras.layers.LeakyReLU用法及代码示例
- Python tf.keras.layers.LocallyConnected2D用法及代码示例
- Python tf.keras.layers.InputLayer用法及代码示例
- Python tf.keras.layers.serialize用法及代码示例
- Python tf.keras.layers.Dropout用法及代码示例
- Python tf.keras.layers.maximum用法及代码示例
- Python tf.keras.layers.Conv2D用法及代码示例
- Python tf.keras.layers.RepeatVector用法及代码示例
- Python tf.keras.layers.Multiply用法及代码示例
- Python tf.keras.layers.Activation用法及代码示例
- Python tf.keras.layers.Conv1D用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.Layer.add_loss。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。