def update_parameters_with_momentum(parameters, grads, v, beta, learning_rate):
L = len(parameters) // 2 # number of layers in the neural networks
for l in range(L):
v["dW" + str(l + 1)] = beta * v["dW" + str(l + 1)] + (1 - beta) * grads["dW" + str(l + 1)](问题就出在这里 当l = 0 时 vdw1 =beta * vdw1
(这个vdw1是空的应该里面只是维度和w1一样的空数组,
但是当l = 2 的时候 vdw2 = beta * vdw2(这个vdw2等于谁啊 按理来讲因该等于刚才算出来的vdw1,
当时这里是vdw2,这个程序算出来的对吗?求解释)))
v["db" + str(l + 1)] = beta * v["db" + str(l + 1)] + (1 - beta) * grads["db" + str(l + 1)]
parameters["W" + str(l + 1)] = parameters["W" + str(l + 1)] - (learning_rate * v["dW" + str(l + 1)])
parameters["b" + str(l + 1)] = parameters["b" + str(l + 1)] - (learning_rate * v["db" + str(l + 1)])
return parameters, v