一個例子:
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])