Keras 神经网络模型的多输出 loss weight metrics 设置
keras支持模型多输入多输出,本文记录多输出时loss、loss weight和metrics的设置方式。模型输出假设模型具有多个输出classify: 二维数组,分类softmax输出,需要配置交叉熵损失segmentation:与输入同尺寸map,sigmoid输出,需要配置二分类损失others:自定义其他输出,需要自定义损失具体配置model变量均为模型中网络层123inputs = [
·
keras支持模型多输入多输出,本文记录多输出时loss、loss weight和metrics的设置方式。
模型输出
假设模型具有多个输出
- classify: 二维数组,分类softmax输出,需要配置交叉熵损失
- segmentation:与输入同尺寸map,sigmoid输出,需要配置二分类损失
- others:自定义其他输出,需要自定义损失
具体配置
model
- 变量均为模型中网络层
1 2 3 |
inputs = [input_1 , input_2] outputs = [classify, segmentation, others] model = keras.models.Model(inputs, outputs) |
loss
1 2 3 4 |
my_loss = { 'classify': 'categorical_crossentropy',\ 'segmentation':'binary_crossentropy',\ 'others':my_loss_fun} |
loss weight
1 2 3 4 |
my_loss_weights = { 'classify':1,\ 'segmentation':1,\ 'others':10} |
metrics
1 2 3 4 5 |
my_metrics ={ 'classify':'acc',\ 'segmentation':[mean_iou,'acc'],\ 'others':['mse','acc'] } |
编译
1 |
model.compile(optimizer=Adam(lr=config.LEARNING_RATE), loss=my_loss, loss_weights= my_loss_weights, metrics= my_metrics) |
本文标题 : Keras 模型多输出 loss weight metrics 设置
文章作者 :
发布时间 : 2020年05月25日 - 18:50:19
最后更新 : 2020年06月19日 - 20:17:58
原始链接 : https://www.zywvvd.com/2020/05/25/deep_learning/keras/keras-multi-metrics/keras-multi-metrics/
更多推荐
所有评论(0)