Я пытаюсь написать симулятор в python для создания нейронных сетей. сети было запланировано быть построены из нейронов и связей, как показано ниже:AttributeError: объект 'int' не имеет атрибута 'output'
Класс соединения:
class Connection(object):
connectionType = 0
weight = [[0 for x in range(1)] for x in range(9)]
def __init__():
self.threshold = 0
self.connectionType = 0
И Neuron класс:
import Connection
class Neuron(object):
ID = 1
OveralPotential = 0
def __init__(self):
global ID
self.input = [[0 for x in range(1)] for x in range(9)]
self.output = [[0 for x in range(1)] for x in range(9)]
self.id = Neuron.ID
Neuron.ID += 1
def connect(srcNeuron, dstNeuron, connectionType):
srcNeuron.output[dstNeuron.id] = 1
dstNeuron.input[srcNeuron.id] = 1
Connection.Connection.connectionType = connectionType
if __name__ == "__main__":
n1 = Neuron()
n2 = Neuron()
n3 = Neuron()
print("ID of the 3rd neuron is {0}".format(n3.id))
n4 = Neuron()
n5 = Neuron()
Neuron.connect(1,3,1)
Neuron.connect(1,4,1)
Neuron.connect(1,5,1)
Neuron.connect(2,3,1)
Neuron.connect(2,4,1)
Neuron.connect(2,5,1)
Но вот StackTrace:
ID of the 3rd neuron is 3
Traceback (most recent call last):
File "C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Mic
rosoft\Python Tools for Visual Studio\2.1\visualstudio_py_util.py", line 106, in
exec_file
exec_code(code, file, global_variables)
File "C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Mic
rosoft\Python Tools for Visual Studio\2.1\visualstudio_py_util.py", line 82, in
exec_code
exec(code_obj, global_variables)
File "C:\Users\Matinking\Documents\Visual Studio 2013\Projects\NeuroSimulation
\NeuroSimulation\Neuron.py", line 31, in <module>
Neuron.connect(1,3,1)
File "C:\Users\Matinking\Documents\Visual Studio 2013\Projects\NeuroSimulation
\NeuroSimulation\Neuron.py", line 16, in connect
srcNeuron.output[dstNeuron.id] = 1
AttributeError: 'int' object has no attribute 'output'
Я проверил возможные дубликаты в этом случае, например:
AttributeError: 'int' object has no attribute 'split'
и
AttributeError: 'int' object has no attribute 'write'
Но ни один из них не дал мне достаточно понять для обработки над материалом. Как я могу это решить ?!
Заранее спасибо
Вы вызывают метод 'Neuron.connect()' с целыми аргументами, а затем связывают для доступа к атрибуту '.connect' в fi первая строка этого метода. Чего вы ожидаете? – dawg