python - 有没有办法为整体损失函数添加基于 keras '自定义层'的/特定的惩罚?
问题描述
我有一个带有一些自定义层的 keras 顺序模型。现在在其中一个层中,基于该特定层的输入,我想计算一个惩罚,并且我希望将惩罚添加到优化器试图整体最小化的损失函数中。
我已经经历了tf.keras.layers.ActivityRegularization
但努力弄清楚如何解决我的问题的概念。
解决方案
如果你想“添加”,你只需要计算层输出/损失,并使用model.add_loss(loss_tensor)
....
loss_tensor = MyCustomLayer(...)(layer_inputs)
....
model = Model(model_inputs, model_outputs)
model.add_loss(loss_tensor)
model.compile(loss=any_normal_loss)
推荐阅读
- c# - 小于运算符与 Math.Abs() 检查负值
- swift - 错误:传递给不带参数 SwiftUI 的调用的参数
- html - 将绝对设置为 td 中的 div
- sql - 从连接表中获取 Max
- windbg - windbg StopOnException 的“伪寄存器号”参数有什么作用?
- hibernate - Hibernate HQL 无法识别 sub select 中的表别名,Insert Into ... Select ... where column = (Select...)
- python - RabbitMQ 服务器已经关闭。但是当我向 RabbitMQ 服务器发布消息时,python rabbitpy 库不会抛出错误
- jenkins - 1 Jenkins 2 个集群,第 2 个集群上的代理连接问题
- python - 将具有 dtypes datetime64[ns] 和 timedelta64[ns] 的数据帧导入到 google bigquery 表
- html - html表单输入文本并在同一行提交