获取某一层权重
2018-07-05 本文已影响0人
梁新彦
方法一:通过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,
image.png
方法二:通过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
image.png