我创建了一个名为 neuron_network
的类,它在其 __init__
方法中引用了另一个名为 neuron
的类。它使用我在神经元中定义的名为 add_inputs
的方法,该方法接受数字输入 i
。但是,当我尝试调用 __init__ 方法时,它说未给出输入 i 。
class dendrite:...
class neuron:
def __init__(self, threshold):
self.inputs = []
def add_inputs(self, i):
self.inputs += [dendrite(0.3)]*i
class neuron_network:
def __init__(self, layers):
self.layers = []
for x in layers:
self.layers += [[neuron]*x]
for i in range(1, len(self.layers)):
for x in self.layers[i]:
x.add_inputs(layers[i-1])
new = neuron_network([3,4,5])
错误是:
Traceback (most recent call last):
TypeError: add_inputs() missing 1 required positional argument: 'i'
最佳答案
您将神经元类放入层中,而不是神经元的实例。您需要self.layers += [[neuron()]*x]
关于Python 类方法无法识别输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071395/