def CaffeNet(weights=None, input_shape=(3, 227, 227), classes=1000):
inputs = Input(shape=input_shape)
x = Conv2D(96, (11, 11), strides=(4, 4), activation='relu', name='conv1')(inputs)
x = MaxPooling2D((3, 3), strides=(2, 2), name='pool1')(x)
x = LRN2D(name='norm1')(x)
x = ZeroPadding2D((2, 2))(x)
x = Conv2D(256, (5, 5), activation='relu', name='conv2')(x)
x = MaxPooling2D((3, 3), strides=(2, 2), name='pool2')(x)
x = LRN2D(name='norm2')(x)
x = ZeroPadding2D((1, 1))(x)
x = Conv2D(384, (3, 3), activation='relu', name='conv3')(x)
x = ZeroPadding2D((1, 1))(x)
x = Conv2D(384, (3, 3), activation='relu', name='conv4')(x)
x = ZeroPadding2D((1, 1))(x)
x = Conv2D(256, (3, 3), activation='relu', name='conv5')(x)
x = MaxPooling2D((3, 3), strides=(2, 2), name='pool5')(x)
x = Flatten(name='flatten')(x)
x = Dense(4096, activation='relu', name='fc6')(x)
x = Dropout(0.5, name='drop6')(x)
x = Dense(4096, activation='relu', name='fc7')(x)
x = Dropout(0.5, name='drop7')(x)
x = Dense(classes, name='fc8')(x)
x = Activation('softmax', name='loss')(x)
model = Model(inputs, x, name='caffenet')
model.load_weights(weights)
return model
评论列表
文章目录