繁体   English   中英

for循环中numpy数组的计算结果错误

[英]Wrong computation result of numpy array in for loop

我有以下代码已使用声明的numpy数组在python中计算错误的数字:

for t in range(T-1,0,-1):
    dh[:,t,:] = dh[:,t,:] + dprev_ht
    dx[:,t,:], dprev_ht, dWxt, dWht, dbt = rnn_step_backward(dh[:,t,:], cache[t])
    dWx += dWxt
    dWh += dWht
    db += dbt

但是,如果我将其更改为:

for t in range(T-1,0,-1):
    cur_dh = dh[:,t,:] + dprev_ht
    dx[:,t,:], dprev_ht, dWxt, dWht, dbt = rnn_step_backward(cur_dh, cache[t])
    dWx += dWxt
    dWh += dWht
    db += dbt

然后我可以得到正确的号码。 这个问题与python中计算的顺序或优先级有关还是与for循环中numpy数组的可变性有关? 还是我对这个问题完全错了?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM