def RNN_back_prop_step(d_y, grads, parameters, x, a, a_prev): grads['dW_ya'] += np.dot(d_y, a.T) grads['db_y'] += d_y da = np.dot(parameters['W_ya'].T, d_y) + grads['da_next'] da_raw = (1 - a * a) * da grads['db'] += da_raw grads['dW_ax'] += np.dot(daraw, x.T) grads['dW_aa'] += np.dot(daraw, a_prev.T) grads['da_next'] = np.dot(parameters['W_aa'].T, daraw) return grads