【发布时间】:2021-10-24 06:21:39
【问题描述】:
我有一些预先训练的模型,我想将它们堆叠在一起。我的输入是 (224,224,3) 图像,类似于 1000 张图像。我的 y 是 (1000,2) 形状,类似于 ([0,1],[1,0],[0,1]...[1,0])。这是CNNs
base_Neural_Net=MobileNetV2(input_shape=(224,224,3), weights='imagenet', include_top=False)
Mobile_V2=Sequential()
Mobile_V2.add(base_Neural_Net)
Mobile_V2.add(Flatten())
Mobile_V2.add(BatchNormalization())
Mobile_V2.add(Dense(256,kernel_initializer='he_uniform'))
Mobile_V2.add(BatchNormalization())
Mobile_V2.add(Activation('relu'))
Mobile_V2.add(Dropout(0.5))
Mobile_V2.add(Dense(2,activation='softmax'))
for layer in base_Neural_Net.layers:
layer.trainable = False
c1=PlotLossesKeras()
Mobile_V2.compile(optimizer='adam',loss='categorical_crossentropy', metrics=['accuracy','AUC'])
Mobile_V2.fit(x,y,epochs=10,callbacks=[c1,c3],batch_size=10)
base_Neural_Net=DenseNet121(input_shape=(224,224,3), weights='imagenet', include_top=False)
Dense_121=Sequential()
Dense_121.add(base_Neural_Net)
Dense_121.add(Flatten())
Dense_121.add(BatchNormalization())
Dense_121.add(Dense(256,kernel_initializer='he_uniform'))
Dense_121.add(BatchNormalization())
Dense_121.add(Activation('relu'))
Dense_121.add(Dropout(0.5))
Dense_121.add(Dense(2,activation='softmax'))
for layer in base_Neural_Net.layers:
layer.trainable = False
c1=PlotLossesKeras()
Dense_121.compile(optimizer='adam',loss='categorical_crossentropy', metrics=['accuracy','AUC'])
Dense_121.fit(x,y,epochs=10,callbacks=[c1,c3],batch_size=16)
base_Neural_Net= InceptionResNetV2(input_shape= (224,224,3), weights='imagenet', include_top=False)
Res_V2=Sequential()
Res_V2.add(base_Neural_Net)
Res_V2.add(Flatten())
Res_V2.add(BatchNormalization())
Res_V2.add(Dense(256,kernel_initializer='he_uniform'))
Res_V2.add(BatchNormalization())
Res_V2.add(Activation('relu'))
Res_V2.add(Dropout(0.5))
Res_V2.add(Dense(2,activation='softmax'))
for layer in base_Neural_Net.layers:
layer.trainable = False
c1=PlotLossesKeras()
Res_V2.compile(optimizer='adam',loss='categorical_crossentropy', metrics=['accuracy','AUC'])
Res_V2.fit(x,y,epochs=10,callbacks=[c1,c3],batch_size=16)
estimators_model = [
('Mobile_V2', Mobile_V2),
('Res_V2', Res_V2),
('Dense_121', Dense_121)
]
我怎样才能ensenble他们?
【问题讨论】:
标签: python tensorflow keras conv-neural-network ensemble-learning