我正在使用[1]的示例代码自行实现一个人工神经网络(ANN)。虽然原则上我很清楚ANN代码是如何工作的(我以前用其他语言做过),但python语法/逻辑有更多问题: 在第181行中,网络经过10000次迭代的训练,但是由于函数“backpropagate”(第39行)不返回网络,并且变量“network”似乎也不是全局变量,因此如何保存进度?同样在函数“backpropagate”中,变量“network”没有更新,但我想这是因为运行变量,如“output_neuron”(第48行)是通过引用的?但这仍然不能解释“网络”如何在“反向传播”之外保存其进步
[1]https://github.com/joelgrus/data-science-from-scratch/blob/master/code-python3/neural_networks.py
您可能应该从更多的basic code开始
这说明了会发生什么
network
是一个可变对象,在backpropagate()
内进行了适当修改。没有必要return
。您可以将其视为通过引用传递(从技术上讲,Python中没有这样的通过值—请参见this blog post)相关问题 更多 >
编程相关推荐