Course 2, Week 2, Exercise 6 broadcast problem

Help! I don’t understand why I keep getting this error.

ValueError: non-broadcastable output operand with shape (2,1) doesn't match the broadcast shape (2,3)

It also indicates that this operation happens in
"parameters[“W” + str(l)] =
parameters[“b” + str(l)] = " lines.

These are the results printed until error occurs:

Expected values:

W1 =
[[ 1.63937725 -0.62327448 -0.54308727]
[-1.0578897 0.85032154 -2.31657668]]
W2 =
[[ 0.33400549 -0.23563857]
[ 1.47715417 -2.04561842]
[-0.33729882 -0.36908457]]
b1 =
[[ 1.72995096]
[-0.7762447 ]]
b2 =
[[ 1.14852557]
[-1.08492339]
[-0.15740527]]

Please share your full error.

ValueError                                Traceback (most recent call last)
<ipython-input-57-99ca62433443> in <module>
      1 parametersi, grads, vi, si, t, learning_rate, beta1, beta2, epsilon = update_parameters_with_adam_test_case()
      2 
----> 3 parameters, v, s, vc, sc  = update_parameters_with_adam(parametersi, grads, vi, si, t, learning_rate, beta1, beta2, epsilon)
      4 print(f"W1 = \n{parameters['W1']}")
      5 print(f"W2 = \n{parameters['W2']}")

<ipython-input-56-b0b9dd6bf45b> in update_parameters_with_adam(parameters, grads, v, s, t, learning_rate, beta1, beta2, epsilon)
     78         # YOUR CODE STARTS HERE
     79         parameters["W" + str(l)] -= learning_rate * (v_corrected["dW" + str(l)] / (np.sqrt(s_corrected["dW" + str(l)]) + epsilon))
---> 80         parameters["b" + str(l)] -= learning_rate * (v_corrected["db" + str(l)] / (np.sqrt(s_corrected["db" + str(l)]) + epsilon))
     81 
     82         # YOUR CODE ENDS HERE

ValueError: non-broadcastable output operand with shape (2,1) doesn't match the broadcast shape (2,3)

Please double-check how you are calculating these terms:

v["db" + str(l)] = ...

v_corrected["db" + str(l)] = ...

s["db" + str(l)] = ...

s_corrected["db" + str(l)] = ...

You did this correctly for dW, so, I guess there might be a typo or minor mistake in case of db

You were right I used dW inside calculation of s_corrected[“db” …

Thank you !

I am glad you catch it.