0️⃣ Paper

Xception: Deep Learning with Depthwise Separable Convolutions

1️⃣ Architecture Point

2️⃣ Xception Architecture Visualization

image.png

3️⃣ Architecture Summary

Layer # Filters / neurons Filter Size Stride Padding Size of Feature Map
Input - - - - 299 x 299 x 3
Convolution 1 32 3 x 3 2 1 150 x 150 x 32
Convolution 2 64 3 x 3 1 1 150 x 150 x 64
Separable Convolution 1 128 3 x 3 1 1 150 x 150 x 128
Separable Convolution 2 128 3 x 3 1 1 150 x 150 x 128
Max Pool 1 - 3 x 3 2 1 75 x 75 x 128
Convolution - Residual 1
(Matrix Sum: Max Pool 1) 128 1 x 1 2 - 75 x 75 x 128
Separable Convolution 3 256 3 x 3 1 1 75 x 75 x 256
Separable Convolution 4 256 3 x 3 1 1 75 x 75 x 256
Max Pool 2 - 3 x 3 2 1 37 x 37 x 256
Convolution - Residual 2
(Matrix Sum: Max Pool 2) 256 1 x 1 2 - 37 x 37 x 256
Separable Convolution 5 728 3 x 3 1 1 37 x 37 x 728
Separable Convolution 6 728 3 x 3 1 1 37 x 37 x 728
Max Pool 3 - 3 x 3 2 1 19 x 19 x 728
Convolution - Residual 3
(Matrix Sum: Max Pool 3)
Separable Convolution 7 728 3 x 3 1 1 19 x 19 x 728
Separable Convolution 8 728 3 x 3 1 1 19 x 19 x 728
Separable Convolution 9 728 3 x 3 1 1 19 x 19 x 728
! Repeat
(Separable Convolution 7, 8, 9) # Times = 8
Separable Convolution 10 728 3 x 3 1 1 19 x 19 x 728
Separable Convolution 11 1024 3 x 3 1 1 19 x 19 x 1024
Max Pool 4 - 3 x 3 2 1 9 x 9 x 1024
Convolution - Residual 4
(Matrix Sum: Max Pool 4) 1024 1 x 1 2 - 9 x 9 x 1024
Separable Convolution 12 1536 3 x 3 1 1 9 x 9 x 1536
Separable Convolution 13 2048 3 x 3 1 1 9 x 9 x 2048
Global Average Pool 1 - 9 x 9 1 - 1 x 1 x 2048
Softmax 1 x 1000

4️⃣ Implement Code

BuildCNN-PyTorch/08A_Xception.ipynb at main · CodeSensory/BuildCNN-PyTorch