官术网_书友最值得收藏!

The InceptionV3 transfer learning network

The InceptionV3 network for our task is defined in the following code block. One thing to note is that since InceptionV3 is a much deeper network, we can have a greater number of initial layers. The idea of not training all of the layers in each of the models has another advantage, with respect to data availability. If we use less data training, the weights of the entire network might lead to overfitting. Freezing the layers reduces the number of weights to train, and hence, provides a form of regularization.

Since the initial layers learn generic features irrespective of the domain of the problem, they are the best layers to freeze. We have also used dropout in the fully connected layer, to prevent overfitting:

def inception_pseudo(dim=224,freeze_layers=30,full_freeze='N'):
model = InceptionV3(weights='imagenet',include_top=False)
x = model.output
x = GlobalAveragePooling2D()(x)
x = Dense(512, activation='relu')(x)
x = Dropout(0.5)(x)
x = Dense(512, activation='relu')(x)
x = Dropout(0.5)(x)
out = Dense(5,activation='softmax')(x)
model_final = Model(input = model.input,outputs=out)
if full_freeze != 'N':
for layer in model.layers[0:freeze_layers]:
layer.trainable = False
return model_final
主站蜘蛛池模板: 南靖县| 肇庆市| 新安县| 都兰县| 启东市| 河北省| 石阡县| 吉安县| 行唐县| 荔浦县| 兴义市| 嘉黎县| 平顶山市| 宁乡县| 新沂市| 沙坪坝区| 赣州市| 张家港市| 新建县| 阜南县| 调兵山市| 张家川| 澄迈县| 安泽县| 米易县| 连山| 靖远县| 瑞安市| 马关县| 江华| 凤山市| 萨嘎县| 东方市| 宁德市| 长岛县| 原平市| 许昌县| 西峡县| 隆德县| 江门市| 自治县|