You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从零实现简易神经网络时训练while循环陷入无限循环问题求助

无限循环问题解决

核心错误原因

你的训练循环中迭代计数器更新语法错误:你写的是itera=+1,该语句的作用是每次循环都将itera的值赋值为1,itera永远无法达到1000,因此会一直满足itera<1000的循环条件,陷入无限循环。

将该语句修改为itera += 1即可解决无限循环问题,修改后的训练循环代码如下:

#training
while itera<1000:
    outputs=forw(inputs)
    e=error(targets,outputs)
    w1=back(e)
    itera += 1

其他需要提前修正的代码问题

解决循环问题后,你还需要处理以下逻辑错误才能得到正确训练结果:

  • 样本和标签长度不匹配:你定义的inputs只有3个输入样本,targets写了4个标签值,计算误差时zip会自动截断到较短的长度,丢失第4个标签,需要根据你的任务需求对齐两者长度。
  • 反向传播规则错误:当前的权重更新逻辑不符合梯度下降的正确推导,纯线性激活的回归任务权重更新梯度需要结合输入特征计算,你当前直接用误差乘学习率更新权重的逻辑是错误的,可在解决循环问题后优先调整这部分。

内容的提问来源于stack exchange,提问作者Regina Briseño

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:15:04