tensorflow保存的模型中同一权重有多个表示/adam1/adam

本篇主要解决三个问题

1、tf.train.AdamOptimizer是什么?

2、什么是beta1_power和beta2_power?

3、tensorflow保存的模型中同一权重有多个表示:

/adam1/adam,究竟哪个是真正的权重,分别代表什么意思?

##################

1、tf.train.AdamOptimizer是什么?

此函数是Adam优化算法:是一个寻找全局最优点的优化算法,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。。相比于基础SGD算法,1、不易于陷于局部有点 2、速度更快。

实现了 AdamOptimizer 算法的优化器,它综合了 Momentum 和 RMSProp 方法,对每个参数保留一个学习率与一个根据过去梯度信息求得的指数衰减均值。
代码实现:

train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)

tf.train.AdamOptimizer这个函数的所有参数:

(
learning_rate=0.001,
beta1=0.9,            #The exponential decay rate for the 1st moment estimates.
beta2=0.999,          #The exponential decay rate for the 2nd moment estimates.
epsilon=1e-08,        #A small constant for numerical stability.
use_locking=False,    #If True use locks for update operations.
name='Adam'           #Optional name for the operations created when applying gradients. Defaults to "Adam".
)

tf.train.AdamOptimizer.__init__(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, use_locking=False, name=’Adam’)

参考:Tensorflow中文社区

2、什么是beta1_power和beta2_power?

所以第二个问题也一并解决了,下图是把模型中的变量名和变量值打印出来的结果,beta1_power=0.9
#The exponential decay rate for the 1st moment estimates.
在这里插入图片描述

3、tensorflow保存的模型中同一权重有多个表示:

/adam1/adam,究竟哪个是真正的权重,分别代表什么意思?

打印TensorFlow保存模型中所有的变量,会发现同一个权重有多个表示:
在这里插入图片描述
这个问题最后还是没查到,个人理解的话是,一个损失一次前传会有两个adam,我这里是3个损失,所以是6个adam,adam只是用于训练收敛。
在进行参数读取选择的话的话,还是选择没有Adamd的,举例:

1、'pnet/conv4-1/biases (DT_FLOAT) [2]\n'
2、 'pnet/conv4-1/biases/Adam (DT_FLOAT) [2]\n'
3、 'pnet/conv4-1/biases/Adam_1 (DT_FLOAT) [2]\n'
选择的1成功了
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值