tensorflow获取和设置每层的参数的方法

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,

tensorflow获取和设置每层的参数的方法_第1张图片

 

 

方法二:通过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

 

tensorflow获取和设置每层的参数的方法_第2张图片

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


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

你可能感兴趣的:(函数使用,python,tensorflow,深度学习)