Hi,

I’m receiving the following error. But I don’t know what’s wrong with my code.

IndexError Traceback (most recent call last)

in

8 Z, cache_conv = conv_forward(A_prev, W, b, hparameters)

9 z_mean = np.mean(Z)

—> 10 z_0_2_1 = Z[0, 2, 1]

11 cache_0_1_2_3 = cache_conv[0][1][2][3]

12 print(“Z’s mean =\n”, z_mean)

IndexError: index 1 is out of bounds for axis 2 with size 1

I took a look into other posts with similar issues and my code doesn’t have those problems.

I have no idea where I went wrong. Can you please help?

Cheers,

Mostafa

I think your code for “loop” seems to be OK. (Posting code is not recommended. Please remove them.)

The problem is;

```
—> 10 z_0_2_1 = Z[0, 2, 1]
IndexError: index 1 is out of bounds for axis 2 with size 1
```

This said that your Z is not created correctly.

And, Z is created from `m`

,` n_H`

, `n_W`

and `n_C`

. Most likely your calculation for n_H and n_W is not correct. Those are dimensions for output.

Please double check equations to calculate n_H and n_W.

Thank you @anon57530071 . I followed the formula in the descriptions for n_H and n_W. For example following is the n_H formula.

n_H = int((n_H_prev-f+2*pad)/stride)+1

That’s axis=1. The problem is axis=2, n_W.

What is your Z.shape ?

Sorry @anon57530071. I sent that one through because formula for n_H and n_W are similar.

n_W = int((n_W_prev-f*2*pad)/stride)+1

Z= np.zeros((m, n_H, n_W, n_C), dtype= float)

Z.shape for the example is =(2, 3, 1, 8)

I think there are some truncation by this system, but, that’s mostly for “asterisk”.

So, I think your n_W is using * instead of +.

Sorry @anon57530071 . There was a typo. Problem solved. thanks.