gpt4 book ai didi

在tensorflow实现直接读取网络的参数(weight and bias)的值

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章在tensorflow实现直接读取网络的参数(weight and bias)的值由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

训练好了一个网络,想要查看网络里面参数是否经过BP算法优化过,可以直接读取网络里面的参数,如果一直是随机初始化的值,则证明训练代码有问题,需要改.

下面介绍如何直接读取网络的weight 和 bias.

(1) 获取参数的变量名。可以使用一下函数获取变量名:

def vars_generate1(self,scope_name_var): return [var for var in tf.global_variables() if scope_name_var in var.name ] 。

输入你想要读取的变量的一部分的名称(scope_name_var),然后通过这个函数返回一个List,里面是所有含有这个名称的变量.

(2) 利用session读取变量的值:

?
1
2
3
4
5
def get_weight( self ):
  full_connect_variable = self .vars_generate1( "pred_network/full_connect/l5_conv" )
  with tf.Session() as sess:
   sess.run(tf.global_variables_initializer()) ##一定要先初始化变量
   print (sess.run(full_connect_variable[ 0 ]))

之后如果想要看参数随着训练的变化,你可以将这些参数保存到一个txt文件里面查看.

补充知识:如何在 PyTorch 中设定学习率衰减(learning rate decay) 。

在tensorflow实现直接读取网络的参数(weight and bias)的值

很多时候我们要对学习率(learning rate)进行衰减,下面的代码示范了如何每30个epoch按10%的速率衰减:

?
1
2
3
4
5
def adjust_learning_rate(optimizer, epoch):
  """Sets the learning rate to the initial LR decayed by 10 every 30 epochs"""
  lr = args.lr * ( 0.1 * * (epoch / / 30 ))
  for param_group in optimizer.param_groups:
   param_group[ 'lr' ] = lr

什么是param_groups?

optimizer通过param_group来管理参数组.param_group中保存了参数组及其对应的学习率,动量等等.所以我们可以通过更改param_group[‘lr']的值来更改对应参数组的学习率.

?
1
2
3
4
5
6
7
8
# 有两个`param_group`即,len(optim.param_groups)==2
optim.SGD([
     { 'params' : model.base.parameters()},
     { 'params' : model.classifier.parameters(), 'lr' : 1e - 3 }
    ], lr = 1e - 2 , momentum = 0.9 )
 
#一个参数组
optim.SGD(model.parameters(), lr = 1e - 2 , momentum = . 9 )

以上这篇在tensorflow实现直接读取网络的参数(weight and bias)的值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/OsgoodWu/article/details/79197660 。

最后此篇关于在tensorflow实现直接读取网络的参数(weight and bias)的值的文章就讲到这里了,如果你想了解更多关于在tensorflow实现直接读取网络的参数(weight and bias)的值的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com