keras獲得某一層或者某層權重的輸出
阿新 • • 發佈:2019-01-04
一個例子:
print("Loading vgg19 weights...") vgg_model = VGG19(include_top=False, weights='imagenet') from_vgg = dict() # 因為模型定義中的layer的名字與原始vgg名字不同,所以需要調整 from_vgg['conv1_1'] = 'block1_conv1' from_vgg['conv1_2'] = 'block1_conv2' from_vgg['conv2_1'] = 'block2_conv1' from_vgg['conv2_2'] = 'block2_conv2' from_vgg['conv3_1'] = 'block3_conv1' from_vgg['conv3_2'] = 'block3_conv2' from_vgg['conv3_3'] = 'block3_conv3' from_vgg['conv3_4'] = 'block3_conv4' from_vgg['conv4_1'] = 'block4_conv1' from_vgg['conv4_2'] = 'block4_conv2' for layer in model.layers: if layer.name in from_vgg: vgg_layer_name = from_vgg[layer.name] layer.set_weights(vgg_model.get_layer(vgg_layer_name).get_weights()) print("Loaded VGG19 layer: " + vgg_layer_name)
densenet.load_weights('model/densenet_weight/densenet_bottom.h5')
# densenet.save_weights('densenet_bottom.h5')
# print(densenet.weights)# 獲得模型所有權值
t=densenet.get_layer('densenet_conv1/bn')
print(t)
print(densenet.get_weights()[2])