阅读 157

Keras 模型多输出 loss weight metrics 设置

keras支持模型多输入多输出,本文记录多输出时loss、loss weight和metrics的设置方式。

模型输出

假设模型具有多个输出

  • classify: 二维数组,分类softmax输出,需要配置交叉熵损失

  • segmentation:与输入同尺寸map,sigmoid输出,需要配置二分类损失

  • others:自定义其他输出,需要自定义损失

具体配置

model

  • 变量均为模型中网络层

 inputs = [input_1 , input_2]
 outputs = [classify, segmentation, others]
 model = keras.models.Model(inputs, outputs)复制代码

loss

 my_loss = {
     'classify': 'categorical_crossentropy',\
     'segmentation':'binary_crossentropy',\
     'others':my_loss_fun}复制代码

loss weight

 my_loss_weights = {
     'classify':1,\
     'segmentation':1,\
     'others':10}复制代码

metrics

 my_metrics ={
     'classify':'acc',\
     'segmentation':[mean_iou,'acc'],\
     'others':['mse','acc']
     }复制代码

编译

 model.compile(optimizer=Adam(lr=config.LEARNING_RATE), loss=my_loss, loss_weights= my_loss_weights,


作者:为为为什么
链接:https://juejin.cn/post/7018847048518598669


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐