Thanks for describing your thought process here. It makes sense. When I use words to describe what happens in conv_forward, the way I say it is: remember that you are looping over the output space. Then within the loops, the work is to calculate where you are in the input space that corresponds to the current position in the output space. The loops must cover every position of the output space. The striding happens in the input space.
6 Likes