numpy 我如何修复我的ColLab笔记本总是更新Numy数组,而不考虑我的IF条件?

bogh5gae  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(143)

我正在使用ColLab解决感知器问题,并试图记录到目前为止发现的最好的一组值。我使用了以下相关代码:

if errors_[i] <= besterrors:  
              besterrors = errors_[i]  
              Wbest = W  
              bestiteration = i+1

其中W是我正在使用的当前数组。在遍历迭代时,我打印以下代码中显示的最佳分数:

print("Best Weights: ", Wbest)  
print("On iteration: ", bestiteration)

我发现bstiteration在最终结果中更新正确,但是无论条件如何,WBest总是更新到最新的W。除了初始定义之外,没有其他部分使用变量WBest(与W无关),删除“WBest=W”会导致WBest根本不更新。
NumPy数组是否有奇怪的行为,可能会导致Numpy.zeros生成的所有数组同时更新,或者ColLab是否导致了奇怪的行为?

yduiuuwa

yduiuuwa1#

使用.copy()方法:

if errors_[i] <= besterrors:  
    besterrors = errors_[i]  
    Wbest = W.copy()
    bestiteration = i+1

相关问题