Layer,Input dimension,output dimension,Input Channels,Output Channels,Kernel,Stride,Padding,Has Relu ?,No of Weights,Bias,Total Weights Conv_1,28,24,1,20,5,1,0,0,500,20,520 Pool_1,24,12,20,20,2,2,0,0,-,-,- Conv_2,12,8,20,50,5,1,0,0,25000,50,25050 Pool_2,8,4,50,50,2,2,0,0,-,-,- FC_1,4,1,50,500,4,1,0,1,400000,500,400500 FC_2,1,1,500,10,1,1,0,0,5000,10,5010 MNIST Input image: 28x28 pixels, grayscale so number of channels 1 Conv_1: Input dimension N 28x28 Input channels 1 Output channels 20, so number of filters 20 -- each filter will produce 1 output channel Kernel K = 5, so each filter is a 5x5 square Stride 1, padding 0, so output dimension (N-K+1) = 28-5+1 = 24 Number of parameters = 20 (number of filters) * 5 * 5 (square kernel) * 1 (input channels) + 20 (bias terms, one for each filter) = 20 * 26 = 520. File conv1.txt has 520 values, last 20 being the bias values. Pool_1: Input dimension N = 24x24 Input channels 20 Pooling with kernel K = 2, stride 2, so output is 12x12 Output channel 20 Max pooling, so no weights Conv_2: Input dimension N 12x12 Input channels 20 Output channels 50, so number of filters 50 -- each filter will produce 1 output channel Kernel K = 5, so each filter is a 5x5 square Stride 1, padding 0, so output dimension (N-K+1) = 12-5+1 = 8 Number of parameters = 50 (number of filters) * 5 * 5 (square kernel) * 20 (input channels) + 50 (bias terms, one for each filter) = 50 * 501 = 25050. File conv2.txt has 25050 values, last 50 being the bias values. Pool_2: Input dimension N = 8x8 Input channels 50 Pooling with kernel K = 2, stride 2, so output is 4x4 Output channel 50 Max pooling, so no weights FC_1: Input dimension N 4x4 Input channels 50 Output channels 500, so number of filters 500 -- each filter will produce 1 output channel Kernel K = 4, so each filter is a 4x4 square Stride 1, padding 0, so output dimension (N-K+1) = 4-4+1 = 1 Number of parameters = 500 (number of filters) * 4 * 4 (square kernel) * 50 (input channels) + 500 (bias terms, one for each filter) = 500 * 801 = 400500. File fc1.txt has 400500 values, last 500 being the bias values. Has a relu layer. FC_2: Input dimension N 1x1 Input channels 500 Output channels 10, so number of filters 10 -- each filter will produce 1 output channel Kernel K = 1, so each filter is a 1x1 square Stride 1, padding 0, so output size (N-K+1) = 1-1+1 = 1 Number of parameters = 10 (number of filters) * 1 * 1 (square kernel) * 500 (input channels) + 10 (bias terms, one for each filter) = 10 * 501 = 5010. File fc2.txt has 5010 values, last 10 being the bias values.