The weights are giving me a lot of trouble in the conv_forward function of Exercise 3. I have my weight matrix assigned to W[everything, everything, everything, index by channel) because I assume I have to slice the weights for the specific channel, but I keep getting an error “IndexError: too many indices for array”, and the error arrow is pointing at the line where I calculated W. I think the main problem is that I can’t visualise this last step. I thought I was extracting (using index c) the weights of the current channel, out of the n_C total?
Please post the full exception
Here is the full exception: I also printed out the shapes of my calculated a_prev_pad, W and b and they are: a_prev_pad shape = (7, 9, 4), W shape=(3, 3, 4), b shape=(1,1,1)
you are overwriting the variable W
with a slice of W
with one dimension less. Rename both W
and b
to something like weights
and bias
as recommended in the comments:
# weights = None
# biases = None
# Z[i, h, w, c] = None
Please also remove your solution if my help works out for you
1 Like
Thanks - I just realised too that a change of variable name was all that was required as you can’t write a numpy array of one dimension to overwrite a numpy array of a different dimension. Thanks again! Removed the solution.
1 Like