keras如何使用model.compile封装自己的模型

使用keras可以方便的构造出我们自己的模型,但是由于keras是一种集成度但同时也缺乏一定的灵活性,本文主要介绍keras在构造模型的complie接口几个主要参数,帮大家理解如何根据自己的需求灵活的构造合适的参数

model.compile中有几个主要的参数,其大概如下:
model.compile(loss=[None, total, total, total, total, total, total],
              loss_weights=[0, 20, 1, 1, 10, 1000, 600],
              optimizer=MyAdam(lr=lr), metrics={'all_loss': total})

1. loss表示训练过程的损失,可以是一个list,注意如果输出是一个多维的,但是loss只有一个话,训练过程会对每一个输出都执行同一个loss函数,如果需要不同的输出执行不同的loss需要多个loss分开

2. loss_weigths:表示每个输出对应的损失的权重

3. optimizer:优化器的类型,我们可以根据需求重写优化器的函数,实现自己的优化器

4. metrics:监控的变量,支持list或者字典,但要注意,如果是list则表示输出的每一个维度都需要经过该函数,比如输出是[a,b],如果metrics是[fn(1),fn(2)],则表示a,b既需要经过fn(1)计算有需要经过fn(2)计算,最终输出的是4个值。

注意:此时在训练过程中输出的值损失包括总的损失和每一个损失函数对应的损失。

 

在模型存储的时候,我们往往会采用

checkPoint = ModelCheckpoint(filepath=filePath1, monitor="all_loss_total_4", verbose=1,
                             save_best_only=True, save_weights_only=True,
                             )

其中monitor表示每一个损失对应的名字,如果输出有多个损失的话需要根据对应的名字选择对应的损失进行监控

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值