0
0 комментариев

Пытаюсь построить нейронную сеть в среде Python (Anaconda 3) по книги Тарика Рашида \»Строим нейронную сеть\»
Создание класса и объекта по нижеприведенному коду выполняется, вроде как правильно:
# определение класса нейронной сети
class neuralNetwork:
# инициализировать нейронную сеть
def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
# задать количество узлов во входном, скрытом и выходном слое
self.inodes = inputnodes
self.hnodes = hiddennodes
self.onodes = outputnodes
# коэффициент обучения
self.lr = learningrate
pass
# тренировка нейронной сети
def train():
pass
# опрос нейронной сети
def query():
pass
# количество входных, скрытых и выходных узлов
input_nodes = 3
hidden_nodes = 3
output_nodes = 3
# коэффициент обучения равен 0,3
learning_rate = 0.3
# создать экземпляр нейронной сети
n = neuralNetwork(input_nodes,hidden_nodes,output_nodes,learning_rate)

Но при попытке создания матрицы весовых коэффициентов по коду (из книги)
import numpy
self.wih = (numpy.random.rand(self.hnodes, self.inodes) — 0.5)
self.who = (numpy.random.rand(self.onodes, self.hnodes) — 0.5)

выбрасывается сообщение об ошибке:
NameError Traceback (most recent call last)
in
—-> 1 self.wih = (numpy.random.rand(self.hnodes, self.inodes) — 0.5)
2 self.who = (numpy.random.rand(self.onodes, self.hnodes) — 0.5)

NameError: name \’self\’ is not defined
И вообще, любое обращение к self. приводит к такой же ошибке.
В чем проблема?


Добавить комментарий