# How do convolutional layers in a CNN feed forward when there is multiple input feature maps?

I've been trying to recreate LeNet 1(LeNet 1 architecture is pictured in the top diagram) in python using NumPy. I am unsure of how the forward pass works when there is multiple Input feature maps in a convolutional layer. Referring to the bottom diagram of the expanded view of convolutional layer C3 are the outputs calculated as follows?:

O1 = Cross_correlation(I1 , F1)

O2 = Cross_correlation(I1 , F2)

O3 = Cross_correlation(I1 , F3)

O4 = Cross_correlation(I2 , F4)

O5 = Cross_correlation(I2 , F5)

O6 = Cross_correlation(I2 , F6)

O7 = Cross_correlation(I3 , F7)

O8 = Cross_correlation(I3 , F8)

O9 = Cross_correlation(I3 , F9)

O10 = Cross_correlation(I4 , F10)

O11 = Cross_correlation(I4 , F11)

O12 = Cross_correlation(I4 , F12)

Would appreciate an answer with the notation I have used above so it is easy to understand! Thanks! • Each filter will have 4 channels and convolute together on the 4 Inputs producing the Outputs i.e. 1,2...Read this Jul 11 at 12:45
• Thanks @10xAI this really helped. If I understood correctly I think what I was doing wrong was each filters depth was only 1 when it should have been 4. Each filter has 4 kernels each one corresponding to a different input feature map
– Joth
Jul 12 at 0:18