Skip to main content

Table 1 Architecture with separable convolution and AVG pooling (ARCH-1)

From: Separable convolutional neural networks for facial expressions recognition

Layer (type)

Output shape

Param #

Connected to

input_1 (InputLayer)

[(None, 48, 48, 1)]

0

None

conv2d (Conv2D)

 

32

conv2d[0][0]

batch_normalization (BN)

(None, 48, 48, 8)

32

conv2d[0][0]

activation (Activation)

(None, 48, 48, 8)

0

batch_normalization[0][0]

conv2d_1 (Conv2D)

(None, 48, 48, 8)

576

activation[0][0]

batch_normalization_1 (BN)

(None, 48, 48, 8)

32

conv2d_1[0][0]

activation_1 (Activation)

(None, 48, 48, 8)

0

batch_normalization_1[0][0]

conv2d_2 (Conv2D)

(None, 48, 48, 16)

1152

activation_1[0][0]

batch_normalization_2 (BN)

(None, 48, 48, 16)

64

conv2d_2[0][0]

activation_2 (Activation)

(None, 48, 48, 16)

0

batch_normalization_2[0][0]

conv2d_3 (Conv2D)

(None, 48, 48, 16)

2304

activation_2[0][0]

batch_normalization_3 (BN)

(None, 48, 48, 16)

64

conv2d_3[0][0]

max_pooling2d (MaxPooling2D)

(None, 24, 24, 16)

0

batch_normalization_3[0][0]

activation_3 (Activation)

(None, 24, 24, 16)

0

max_pooling2d[0][0]

separable_conv2d (SeparableConv)

(None, 24, 24, 32)

656

activation_3[0][0]

batch_normalization_6 (BN)

None, 24, 24, 32)

128

separable_conv2d[0][0]

activation_4 (Activation)

(None, 24, 24, 32)

0

batch_normalization_6[0][0]

separable_conv2d_1 (SeparableConv)

(None, 24, 24, 32)

1312

activation_4[0][0]

conv2d_4 (Conv2D)

(None, 24, 24, 16)

256

activation_3[0][0]

batch_normalization_7 (BN)

(None, 24, 24, 32)

128

separable_conv2d_1[0][0]

batch_normalization_4 (BN)

(None, 24, 24, 16)

64

conv2d_4[0][0]

max_pooling2d_1 (MaxPooling2D)

(None, 12, 12, 32)

0

batch_normalization_7[0][0]

conv2d_5 (Conv2D)

(None, 12, 12, 32)

512

batch_normalization_4[0][0]

activation_5 (Activation)

(None, 12, 12, 32)

0

max_pooling2d_1[0][0]

batch_normalization_5 (BN)

(None, 12, 12, 32)

128

conv2d_5[0][0]

add (Add)

(None, 12, 12, 32)

0

activation_5[0][0]

batch_normalization_5[0][0]

activation_6 (Activation)

(None, 12, 12, 32)

0

add[0][0]

conv2d_6 (Conv2D)

(None, 12, 12, 64)

18496

activation_6[0][0]

batch_normalization_8 (BN)

(None, 12, 12, 64)

256

conv2d_6[0][0]

activation_7 (Activation)

(None, 12, 12, 64)

0

batch_normalization_8[0][0]

conv2d_7 (Conv2D)

(None, 12, 12, 64)

36928

activation_7[0][0]

batch_normalization_9 (BN)

(None, 12, 12, 64)

256

conv2d_7[0][0]

max_pooling2d_2 (MaxPooling2D)

(None, 6, 6, 64)

0

batch_normalization_9[0][0]

activation_8 (Activation)

(None, 6, 6, 64)

0

max_pooling2d_2[0][0]

conv2d_8 (Conv2D)

(None, 6, 6, 128)

73856

activation_8[0][0]

batch_normalization_10 (BN)

(None, 6, 6, 128)

512

conv2d_8[0][0]

activation_9 (Activation)

(None, 6, 6, 128)

0

batch_normalization_10[0][0]

conv2d_9 (Conv2D)

(None, 6, 6, 128)

147584

activation_9[0][0]

batch_normalization_11(BN)

(None, 6, 6, 128)

512

conv2d_9[0][0]

activation_10 (Activation)

(None, 6, 6, 128)

0

batch_normalization_11[0][0]

conv2d_10 (Conv2D)

(None, 6, 6, 7)

8071

activation_10[0][0]

global_average_pooling2d (GlobalAvg)

(None, 7)

0

conv2d_10[0][0]

predictions (Activation)

(None, 7)

0

global_average_pooling2d[0][0]