gpt4 book ai didi

Python 嵌套循环行为

转载 作者:行者123 更新时间:2023-12-01 02:15:01 25 4
gpt4 key购买 nike

我是Python新手,我认为我不明白嵌套循环是如何工作的。我有这个嵌套循环,应该运行多次,直到达到精度 eps,但它在运行一次后退出。我尝试调试并意识到,当到达 epoch +=1 增量线时,w 和 w_last 都被第二个循环修改并且相等。我不明白为什么会出现这种情况,因为第二个循环只应修改 w 。我使用 for 循环也遇到同样的问题。有不懂的地方,希望大佬指点一下

while(all(abs(w - w_last)) >= eps) :
w_last = w
sum_error = 0
j = 0
while j < n_data :
y_pred[j] = w[0]+ (w[1]*x[j])
error = y_pred[j] - y[j]
sum_error += error**2
w[0] = w[0] - step * error
w[1] = w[1] - step * error * x[j]
j += 1
epoch += 1
print('>epoch=%d, step=%.4f, error=%.3f' % (epoch, step, sum_error))
print(w)

w 是一个 (2,1) numpy 权重数组epoch 跟踪我运行数据的次数(第二次循环)

谢谢!

最佳答案

w_last = w 再次引用 w,而不是它的副本。您必须使用w_last = w.copy()

关于Python 嵌套循环行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48428917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com