keras实现调用自己训练的模型,并去掉全连接层
其实很简单
fromkeras.modelsimportload_model base_model=load_model('model_resenet.h5')#加载指定的模型 print(base_model.summary())#输出网络的结构图
这是我的网络模型的输出,其实就是它的结构图
__________________________________________________________________________________________________ Layer(type)OutputShapeParam#Connectedto ================================================================================================== input_1(InputLayer)(None,227,227,1)0 __________________________________________________________________________________________________ conv2d_1(Conv2D)(None,225,225,32)320input_1[0][0] __________________________________________________________________________________________________ batch_normalization_1(BatchNor(None,225,225,32)128conv2d_1[0][0] __________________________________________________________________________________________________ activation_1(Activation)(None,225,225,32)0batch_normalization_1[0][0] __________________________________________________________________________________________________ conv2d_2(Conv2D)(None,225,225,32)9248activation_1[0][0] __________________________________________________________________________________________________ batch_normalization_2(BatchNor(None,225,225,32)128conv2d_2[0][0] __________________________________________________________________________________________________ activation_2(Activation)(None,225,225,32)0batch_normalization_2[0][0] __________________________________________________________________________________________________ conv2d_3(Conv2D)(None,225,225,32)9248activation_2[0][0] __________________________________________________________________________________________________ batch_normalization_3(BatchNor(None,225,225,32)128conv2d_3[0][0] __________________________________________________________________________________________________ merge_1(Merge)(None,225,225,32)0batch_normalization_3[0][0] activation_1[0][0] __________________________________________________________________________________________________ activation_3(Activation)(None,225,225,32)0merge_1[0][0] __________________________________________________________________________________________________ conv2d_4(Conv2D)(None,225,225,32)9248activation_3[0][0] __________________________________________________________________________________________________ batch_normalization_4(BatchNor(None,225,225,32)128conv2d_4[0][0] __________________________________________________________________________________________________ activation_4(Activation)(None,225,225,32)0batch_normalization_4[0][0] __________________________________________________________________________________________________ conv2d_5(Conv2D)(None,225,225,32)9248activation_4[0][0] __________________________________________________________________________________________________ batch_normalization_5(BatchNor(None,225,225,32)128conv2d_5[0][0] __________________________________________________________________________________________________ merge_2(Merge)(None,225,225,32)0batch_normalization_5[0][0] activation_3[0][0] __________________________________________________________________________________________________ activation_5(Activation)(None,225,225,32)0merge_2[0][0] __________________________________________________________________________________________________ max_pooling2d_1(MaxPooling2D)(None,112,112,32)0activation_5[0][0] __________________________________________________________________________________________________ conv2d_6(Conv2D)(None,110,110,64)18496max_pooling2d_1[0][0] __________________________________________________________________________________________________ batch_normalization_6(BatchNor(None,110,110,64)256conv2d_6[0][0] __________________________________________________________________________________________________ activation_6(Activation)(None,110,110,64)0batch_normalization_6[0][0] __________________________________________________________________________________________________ conv2d_7(Conv2D)(None,110,110,64)36928activation_6[0][0] __________________________________________________________________________________________________ batch_normalization_7(BatchNor(None,110,110,64)256conv2d_7[0][0] __________________________________________________________________________________________________ activation_7(Activation)(None,110,110,64)0batch_normalization_7[0][0] __________________________________________________________________________________________________ conv2d_8(Conv2D)(None,110,110,64)36928activation_7[0][0] __________________________________________________________________________________________________ batch_normalization_8(BatchNor(None,110,110,64)256conv2d_8[0][0] __________________________________________________________________________________________________ merge_3(Merge)(None,110,110,64)0batch_normalization_8[0][0] activation_6[0][0] __________________________________________________________________________________________________ activation_8(Activation)(None,110,110,64)0merge_3[0][0] __________________________________________________________________________________________________ conv2d_9(Conv2D)(None,110,110,64)36928activation_8[0][0] __________________________________________________________________________________________________ batch_normalization_9(BatchNor(None,110,110,64)256conv2d_9[0][0] __________________________________________________________________________________________________ activation_9(Activation)(None,110,110,64)0batch_normalization_9[0][0] __________________________________________________________________________________________________ conv2d_10(Conv2D)(None,110,110,64)36928activation_9[0][0] __________________________________________________________________________________________________ batch_normalization_10(BatchNo(None,110,110,64)256conv2d_10[0][0] __________________________________________________________________________________________________ merge_4(Merge)(None,110,110,64)0batch_normalization_10[0][0] activation_8[0][0] __________________________________________________________________________________________________ activation_10(Activation)(None,110,110,64)0merge_4[0][0] __________________________________________________________________________________________________ max_pooling2d_2(MaxPooling2D)(None,55,55,64)0activation_10[0][0] __________________________________________________________________________________________________ conv2d_11(Conv2D)(None,53,53,64)36928max_pooling2d_2[0][0] __________________________________________________________________________________________________ batch_normalization_11(BatchNo(None,53,53,64)256conv2d_11[0][0] __________________________________________________________________________________________________ activation_11(Activation)(None,53,53,64)0batch_normalization_11[0][0] __________________________________________________________________________________________________ max_pooling2d_3(MaxPooling2D)(None,26,26,64)0activation_11[0][0] __________________________________________________________________________________________________ conv2d_12(Conv2D)(None,26,26,64)36928max_pooling2d_3[0][0] __________________________________________________________________________________________________ batch_normalization_12(BatchNo(None,26,26,64)256conv2d_12[0][0] __________________________________________________________________________________________________ activation_12(Activation)(None,26,26,64)0batch_normalization_12[0][0] __________________________________________________________________________________________________ conv2d_13(Conv2D)(None,26,26,64)36928activation_12[0][0] __________________________________________________________________________________________________ batch_normalization_13(BatchNo(None,26,26,64)256conv2d_13[0][0] __________________________________________________________________________________________________ merge_5(Merge)(None,26,26,64)0batch_normalization_13[0][0] max_pooling2d_3[0][0] __________________________________________________________________________________________________ activation_13(Activation)(None,26,26,64)0merge_5[0][0] __________________________________________________________________________________________________ conv2d_14(Conv2D)(None,26,26,64)36928activation_13[0][0] __________________________________________________________________________________________________ batch_normalization_14(BatchNo(None,26,26,64)256conv2d_14[0][0] __________________________________________________________________________________________________ activation_14(Activation)(None,26,26,64)0batch_normalization_14[0][0] __________________________________________________________________________________________________ conv2d_15(Conv2D)(None,26,26,64)36928activation_14[0][0] __________________________________________________________________________________________________ batch_normalization_15(BatchNo(None,26,26,64)256conv2d_15[0][0] __________________________________________________________________________________________________ merge_6(Merge)(None,26,26,64)0batch_normalization_15[0][0] activation_13[0][0] __________________________________________________________________________________________________ activation_15(Activation)(None,26,26,64)0merge_6[0][0] __________________________________________________________________________________________________ max_pooling2d_4(MaxPooling2D)(None,13,13,64)0activation_15[0][0] __________________________________________________________________________________________________ conv2d_16(Conv2D)(None,11,11,32)18464max_pooling2d_4[0][0] __________________________________________________________________________________________________ batch_normalization_16(BatchNo(None,11,11,32)128conv2d_16[0][0] __________________________________________________________________________________________________ activation_16(Activation)(None,11,11,32)0batch_normalization_16[0][0] __________________________________________________________________________________________________ conv2d_17(Conv2D)(None,11,11,32)9248activation_16[0][0] __________________________________________________________________________________________________ batch_normalization_17(BatchNo(None,11,11,32)128conv2d_17[0][0] __________________________________________________________________________________________________ activation_17(Activation)(None,11,11,32)0batch_normalization_17[0][0] __________________________________________________________________________________________________ conv2d_18(Conv2D)(None,11,11,32)9248activation_17[0][0] __________________________________________________________________________________________________ batch_normalization_18(BatchNo(None,11,11,32)128conv2d_18[0][0] __________________________________________________________________________________________________ merge_7(Merge)(None,11,11,32)0batch_normalization_18[0][0] activation_16[0][0] __________________________________________________________________________________________________ activation_18(Activation)(None,11,11,32)0merge_7[0][0] __________________________________________________________________________________________________ conv2d_19(Conv2D)(None,11,11,32)9248activation_18[0][0] __________________________________________________________________________________________________ batch_normalization_19(BatchNo(None,11,11,32)128conv2d_19[0][0] __________________________________________________________________________________________________ activation_19(Activation)(None,11,11,32)0batch_normalization_19[0][0] __________________________________________________________________________________________________ conv2d_20(Conv2D)(None,11,11,32)9248activation_19[0][0] __________________________________________________________________________________________________ batch_normalization_20(BatchNo(None,11,11,32)128conv2d_20[0][0] __________________________________________________________________________________________________ merge_8(Merge)(None,11,11,32)0batch_normalization_20[0][0] activation_18[0][0] __________________________________________________________________________________________________ activation_20(Activation)(None,11,11,32)0merge_8[0][0] __________________________________________________________________________________________________ max_pooling2d_5(MaxPooling2D)(None,5,5,32)0activation_20[0][0] __________________________________________________________________________________________________ conv2d_21(Conv2D)(None,3,3,64)18496max_pooling2d_5[0][0] __________________________________________________________________________________________________ batch_normalization_21(BatchNo(None,3,3,64)256conv2d_21[0][0] __________________________________________________________________________________________________ activation_21(Activation)(None,3,3,64)0batch_normalization_21[0][0] __________________________________________________________________________________________________ conv2d_22(Conv2D)(None,3,3,64)36928activation_21[0][0] __________________________________________________________________________________________________ batch_normalization_22(BatchNo(None,3,3,64)256conv2d_22[0][0] __________________________________________________________________________________________________ activation_22(Activation)(None,3,3,64)0batch_normalization_22[0][0] __________________________________________________________________________________________________ conv2d_23(Conv2D)(None,3,3,64)36928activation_22[0][0] __________________________________________________________________________________________________ batch_normalization_23(BatchNo(None,3,3,64)256conv2d_23[0][0] __________________________________________________________________________________________________ merge_9(Merge)(None,3,3,64)0batch_normalization_23[0][0] activation_21[0][0] __________________________________________________________________________________________________ activation_23(Activation)(None,3,3,64)0merge_9[0][0] __________________________________________________________________________________________________ conv2d_24(Conv2D)(None,3,3,64)36928activation_23[0][0] __________________________________________________________________________________________________ batch_normalization_24(BatchNo(None,3,3,64)256conv2d_24[0][0] __________________________________________________________________________________________________ activation_24(Activation)(None,3,3,64)0batch_normalization_24[0][0] __________________________________________________________________________________________________ conv2d_25(Conv2D)(None,3,3,64)36928activation_24[0][0] __________________________________________________________________________________________________ batch_normalization_25(BatchNo(None,3,3,64)256conv2d_25[0][0] __________________________________________________________________________________________________ merge_10(Merge)(None,3,3,64)0batch_normalization_25[0][0] activation_23[0][0] __________________________________________________________________________________________________ activation_25(Activation)(None,3,3,64)0merge_10[0][0] __________________________________________________________________________________________________ max_pooling2d_6(MaxPooling2D)(None,1,1,64)0activation_25[0][0] __________________________________________________________________________________________________ flatten_1(Flatten)(None,64)0max_pooling2d_6[0][0] __________________________________________________________________________________________________ dense_1(Dense)(None,256)16640flatten_1[0][0] __________________________________________________________________________________________________ dropout_1(Dropout)(None,256)0dense_1[0][0] __________________________________________________________________________________________________ dense_2(Dense)(None,2)514dropout_1[0][0] ================================================================================================== Totalparams:632,098 Trainableparams:629,538 Non-trainableparams:2,560 __________________________________________________________________________________________________
去掉模型的全连接层
fromkeras.modelsimportload_model base_model=load_model('model_resenet.h5') resnet_model=Model(inputs=base_model.input,outputs=base_model.get_layer('max_pooling2d_6').output) #'max_pooling2d_6'其实就是上述网络中全连接层的前面一层,当然这里你也可以选取其它层,把该层的名称代替'max_pooling2d_6'即可,这样其实就是截取网络,输出网络结构就是方便读取每层的名字。 print(resnet_model.summary())
新输出的网络结构:
__________________________________________________________________________________________________ Layer(type)OutputShapeParam#Connectedto ================================================================================================== input_1(InputLayer)(None,227,227,1)0 __________________________________________________________________________________________________ conv2d_1(Conv2D)(None,225,225,32)320input_1[0][0] __________________________________________________________________________________________________ batch_normalization_1(BatchNor(None,225,225,32)128conv2d_1[0][0] __________________________________________________________________________________________________ activation_1(Activation)(None,225,225,32)0batch_normalization_1[0][0] __________________________________________________________________________________________________ conv2d_2(Conv2D)(None,225,225,32)9248activation_1[0][0] __________________________________________________________________________________________________ batch_normalization_2(BatchNor(None,225,225,32)128conv2d_2[0][0] __________________________________________________________________________________________________ activation_2(Activation)(None,225,225,32)0batch_normalization_2[0][0] __________________________________________________________________________________________________ conv2d_3(Conv2D)(None,225,225,32)9248activation_2[0][0] __________________________________________________________________________________________________ batch_normalization_3(BatchNor(None,225,225,32)128conv2d_3[0][0] __________________________________________________________________________________________________ merge_1(Merge)(None,225,225,32)0batch_normalization_3[0][0] activation_1[0][0] __________________________________________________________________________________________________ activation_3(Activation)(None,225,225,32)0merge_1[0][0] __________________________________________________________________________________________________ conv2d_4(Conv2D)(None,225,225,32)9248activation_3[0][0] __________________________________________________________________________________________________ batch_normalization_4(BatchNor(None,225,225,32)128conv2d_4[0][0] __________________________________________________________________________________________________ activation_4(Activation)(None,225,225,32)0batch_normalization_4[0][0] __________________________________________________________________________________________________ conv2d_5(Conv2D)(None,225,225,32)9248activation_4[0][0] __________________________________________________________________________________________________ batch_normalization_5(BatchNor(None,225,225,32)128conv2d_5[0][0] __________________________________________________________________________________________________ merge_2(Merge)(None,225,225,32)0batch_normalization_5[0][0] activation_3[0][0] __________________________________________________________________________________________________ activation_5(Activation)(None,225,225,32)0merge_2[0][0] __________________________________________________________________________________________________ max_pooling2d_1(MaxPooling2D)(None,112,112,32)0activation_5[0][0] __________________________________________________________________________________________________ conv2d_6(Conv2D)(None,110,110,64)18496max_pooling2d_1[0][0] __________________________________________________________________________________________________ batch_normalization_6(BatchNor(None,110,110,64)256conv2d_6[0][0] __________________________________________________________________________________________________ activation_6(Activation)(None,110,110,64)0batch_normalization_6[0][0] __________________________________________________________________________________________________ conv2d_7(Conv2D)(None,110,110,64)36928activation_6[0][0] __________________________________________________________________________________________________ batch_normalization_7(BatchNor(None,110,110,64)256conv2d_7[0][0] __________________________________________________________________________________________________ activation_7(Activation)(None,110,110,64)0batch_normalization_7[0][0] __________________________________________________________________________________________________ conv2d_8(Conv2D)(None,110,110,64)36928activation_7[0][0] __________________________________________________________________________________________________ batch_normalization_8(BatchNor(None,110,110,64)256conv2d_8[0][0] __________________________________________________________________________________________________ merge_3(Merge)(None,110,110,64)0batch_normalization_8[0][0] activation_6[0][0] __________________________________________________________________________________________________ activation_8(Activation)(None,110,110,64)0merge_3[0][0] __________________________________________________________________________________________________ conv2d_9(Conv2D)(None,110,110,64)36928activation_8[0][0] __________________________________________________________________________________________________ batch_normalization_9(BatchNor(None,110,110,64)256conv2d_9[0][0] __________________________________________________________________________________________________ activation_9(Activation)(None,110,110,64)0batch_normalization_9[0][0] __________________________________________________________________________________________________ conv2d_10(Conv2D)(None,110,110,64)36928activation_9[0][0] __________________________________________________________________________________________________ batch_normalization_10(BatchNo(None,110,110,64)256conv2d_10[0][0] __________________________________________________________________________________________________ merge_4(Merge)(None,110,110,64)0batch_normalization_10[0][0] activation_8[0][0] __________________________________________________________________________________________________ activation_10(Activation)(None,110,110,64)0merge_4[0][0] __________________________________________________________________________________________________ max_pooling2d_2(MaxPooling2D)(None,55,55,64)0activation_10[0][0] __________________________________________________________________________________________________ conv2d_11(Conv2D)(None,53,53,64)36928max_pooling2d_2[0][0] __________________________________________________________________________________________________ batch_normalization_11(BatchNo(None,53,53,64)256conv2d_11[0][0] __________________________________________________________________________________________________ activation_11(Activation)(None,53,53,64)0batch_normalization_11[0][0] __________________________________________________________________________________________________ max_pooling2d_3(MaxPooling2D)(None,26,26,64)0activation_11[0][0] __________________________________________________________________________________________________ conv2d_12(Conv2D)(None,26,26,64)36928max_pooling2d_3[0][0] __________________________________________________________________________________________________ batch_normalization_12(BatchNo(None,26,26,64)256conv2d_12[0][0] __________________________________________________________________________________________________ activation_12(Activation)(None,26,26,64)0batch_normalization_12[0][0] __________________________________________________________________________________________________ conv2d_13(Conv2D)(None,26,26,64)36928activation_12[0][0] __________________________________________________________________________________________________ batch_normalization_13(BatchNo(None,26,26,64)256conv2d_13[0][0] __________________________________________________________________________________________________ merge_5(Merge)(None,26,26,64)0batch_normalization_13[0][0] max_pooling2d_3[0][0] __________________________________________________________________________________________________ activation_13(Activation)(None,26,26,64)0merge_5[0][0] __________________________________________________________________________________________________ conv2d_14(Conv2D)(None,26,26,64)36928activation_13[0][0] __________________________________________________________________________________________________ batch_normalization_14(BatchNo(None,26,26,64)256conv2d_14[0][0] __________________________________________________________________________________________________ activation_14(Activation)(None,26,26,64)0batch_normalization_14[0][0] __________________________________________________________________________________________________ conv2d_15(Conv2D)(None,26,26,64)36928activation_14[0][0] __________________________________________________________________________________________________ batch_normalization_15(BatchNo(None,26,26,64)256conv2d_15[0][0] __________________________________________________________________________________________________ merge_6(Merge)(None,26,26,64)0batch_normalization_15[0][0] activation_13[0][0] __________________________________________________________________________________________________ activation_15(Activation)(None,26,26,64)0merge_6[0][0] __________________________________________________________________________________________________ max_pooling2d_4(MaxPooling2D)(None,13,13,64)0activation_15[0][0] __________________________________________________________________________________________________ conv2d_16(Conv2D)(None,11,11,32)18464max_pooling2d_4[0][0] __________________________________________________________________________________________________ batch_normalization_16(BatchNo(None,11,11,32)128conv2d_16[0][0] __________________________________________________________________________________________________ activation_16(Activation)(None,11,11,32)0batch_normalization_16[0][0] __________________________________________________________________________________________________ conv2d_17(Conv2D)(None,11,11,32)9248activation_16[0][0] __________________________________________________________________________________________________ batch_normalization_17(BatchNo(None,11,11,32)128conv2d_17[0][0] __________________________________________________________________________________________________ activation_17(Activation)(None,11,11,32)0batch_normalization_17[0][0] __________________________________________________________________________________________________ conv2d_18(Conv2D)(None,11,11,32)9248activation_17[0][0] __________________________________________________________________________________________________ batch_normalization_18(BatchNo(None,11,11,32)128conv2d_18[0][0] __________________________________________________________________________________________________ merge_7(Merge)(None,11,11,32)0batch_normalization_18[0][0] activation_16[0][0] __________________________________________________________________________________________________ activation_18(Activation)(None,11,11,32)0merge_7[0][0] __________________________________________________________________________________________________ conv2d_19(Conv2D)(None,11,11,32)9248activation_18[0][0] __________________________________________________________________________________________________ batch_normalization_19(BatchNo(None,11,11,32)128conv2d_19[0][0] __________________________________________________________________________________________________ activation_19(Activation)(None,11,11,32)0batch_normalization_19[0][0] __________________________________________________________________________________________________ conv2d_20(Conv2D)(None,11,11,32)9248activation_19[0][0] __________________________________________________________________________________________________ batch_normalization_20(BatchNo(None,11,11,32)128conv2d_20[0][0] __________________________________________________________________________________________________ merge_8(Merge)(None,11,11,32)0batch_normalization_20[0][0] activation_18[0][0] __________________________________________________________________________________________________ activation_20(Activation)(None,11,11,32)0merge_8[0][0] __________________________________________________________________________________________________ max_pooling2d_5(MaxPooling2D)(None,5,5,32)0activation_20[0][0] __________________________________________________________________________________________________ conv2d_21(Conv2D)(None,3,3,64)18496max_pooling2d_5[0][0] __________________________________________________________________________________________________ batch_normalization_21(BatchNo(None,3,3,64)256conv2d_21[0][0] __________________________________________________________________________________________________ activation_21(Activation)(None,3,3,64)0batch_normalization_21[0][0] __________________________________________________________________________________________________ conv2d_22(Conv2D)(None,3,3,64)36928activation_21[0][0] __________________________________________________________________________________________________ batch_normalization_22(BatchNo(None,3,3,64)256conv2d_22[0][0] __________________________________________________________________________________________________ activation_22(Activation)(None,3,3,64)0batch_normalization_22[0][0] __________________________________________________________________________________________________ conv2d_23(Conv2D)(None,3,3,64)36928activation_22[0][0] __________________________________________________________________________________________________ batch_normalization_23(BatchNo(None,3,3,64)256conv2d_23[0][0] __________________________________________________________________________________________________ merge_9(Merge)(None,3,3,64)0batch_normalization_23[0][0] activation_21[0][0] __________________________________________________________________________________________________ activation_23(Activation)(None,3,3,64)0merge_9[0][0] __________________________________________________________________________________________________ conv2d_24(Conv2D)(None,3,3,64)36928activation_23[0][0] __________________________________________________________________________________________________ batch_normalization_24(BatchNo(None,3,3,64)256conv2d_24[0][0] __________________________________________________________________________________________________ activation_24(Activation)(None,3,3,64)0batch_normalization_24[0][0] __________________________________________________________________________________________________ conv2d_25(Conv2D)(None,3,3,64)36928activation_24[0][0] __________________________________________________________________________________________________ batch_normalization_25(BatchNo(None,3,3,64)256conv2d_25[0][0] __________________________________________________________________________________________________ merge_10(Merge)(None,3,3,64)0batch_normalization_25[0][0] activation_23[0][0] __________________________________________________________________________________________________ activation_25(Activation)(None,3,3,64)0merge_10[0][0] __________________________________________________________________________________________________ max_pooling2d_6(MaxPooling2D)(None,1,1,64)0activation_25[0][0] ================================================================================================== Totalparams:614,944 Trainableparams:612,384 Non-trainableparams:2,560 __________________________________________________________________________________________________
以上这篇keras实现调用自己训练的模型,并去掉全连接层就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。