model
=
Sequential()
model.add(Conv2D(filters
=
96
, input_shape
=
(
224
,
224
,
3
),
kernel_size
=
(
11
,
11
), strides
=
(
4
,
4
),
padding
=
'valid'
))
model.add(Activation(
'relu'
))
model.add(MaxPooling2D(pool_size
=
(
2
,
2
),
strides
=
(
2
,
2
), padding
=
'valid'
))
model.add(BatchNormalization())
model.add(Conv2D(filters
=
256
, kernel_size
=
(
11
,
11
),
strides
=
(
1
,
1
), padding
=
'valid'
))
model.add(Activation(
'relu'
))
model.add(MaxPooling2D(pool_size
=
(
2
,
2
), strides
=
(
2
,
2
),
padding
=
'valid'
))
model.add(BatchNormalization())
model.add(Conv2D(filters
=
384
, kernel_size
=
(
3
,
3
),
strides
=
(
1
,
1
), padding
=
'valid'
))
model.add(Activation(
'relu'
))
model.add(BatchNormalization())
model.add(Conv2D(filters
=
384
, kernel_size
=
(
3
,
3
),
strides
=
(
1
,
1
), padding
=
'valid'
))
model.add(Activation(
'relu'
))
model.add(BatchNormalization())
model.add(Conv2D(filters
=
256
, kernel_size
=
(
3
,
3
),
strides
=
(
1
,
1
), padding
=
'valid'
))
model.add(Activation(
'relu'
))
model.add(MaxPooling2D(pool_size
=
(
2
,
2
), strides
=
(
2
,
2
),
padding
=
'valid'
))
model.add(BatchNormalization())
model.add(Flatten())
model.add(Dense(
4096
, input_shape
=
(
224
*
224
*
3
, )))
model.add(Activation(
'relu'
))
model.add(Dropout(
0.4
))
model.add(BatchNormalization())
model.add(Dense(
4096
))
model.add(Activation(
'relu'
))
model.add(Dropout(
0.4
))
model.add(BatchNormalization())
model.add(Dense(num_classes))
model.add(Activation(
'softmax'
))