Please post to this thread your solution to the Nov 2 In-Class Exercise Thread.
Best,
Chris
(Edited: 2021-11-08)Our First Layer was
Conv2D(64, (3,3), padding="same", input_shape=(64, 64, 1))
Input m: 64 * 64 = 4096
Output n: No. of filters * Output shape = 64 * (64 * 64) = 262144
Therefore, using Glorot and Bengio initialization
W_(i,j) ~ U (-(6/(4096+262144))^0.5, (6/(4096+262144))^0.5)
W_(i,j) ~ U (-0.00475, 0.00475)
Conv2D(32, kernel_size=(3, 3), input_shape=(64,64,3)) <br>
m=64 x 64 =4096 <br>
n= 64 x 64 x 32 = 131072 <br>
Wi,jU(-6/(m+n), 6/(m+n) <br>
Wi,jU(-6/135168, 6/135168) <br>
Wi,j~U(-0.0066, 0.0066)
model.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', input_shape=(64, 64, 1)))
Input and Output (m,n): m= 6464= 4096 n= 6464*32= 131072
First layer: Conv2D(64, (3,3), padding="same", input_shape=(64, 64, 1))
which gives m = 64 * 64 and n = 64 * 64 * 64