tensorflow获取和设置每层的参数的方法,看到一篇文章,转载一下,防止忘记!!!

方法一:通过get_layer()函数先获取要获取权重对应的层;接着通过get_weights()

函数获取该层对应的全部参数(是一个长的为2的列表,列表中的每一个元素是一个numpy数组,第一存放该层的权重W的参数,第一个存放偏置b)
layer的两个函数: get_weights(), set_weights(weights)

model = load_model('vgg.h5')
layer1 = model.get_layer(index=2)
weights = layer1.get_weights()   #获取该层的参数W和b

通过在pycharm中调试运行,查看model的具体内容,进一步打开layers变量,可以查看到我们要获取层的索引。在本例子中,要获取的索引为2,

 

 

方法二:通过model.get_weights()先获取模型的全部参数(一个列表数组,第一层W,第一层b,第二层W,第二层b,...)

weights = model.get_weights() #获取整个网络模型的全部参数
print(weights [0].shape)  #第一层的w
print(weights [1].shape)  #第一层的b
print(weights [2].shape)  #第二层的w
print(weights [3].shape)  #第二层的b

 

原文中这里的程序有点问题,这里改正一下


作者:梁新彦
链接:https://www.jianshu.com/p/6a3a47c9ea7b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2 PiperOrigin-RevId: 663726708 2 个月前
91dac11a This test overrides disabled_backends, dropping the default value in the process. PiperOrigin-RevId: 663711155 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐