Найти - Пользователи
Полная версия: Не компилируется код из книги
Начало » Python для новичков » Не компилируется код из книги
1
nickson.b.k
Доброго времени!
Изучаю НС по книге, где автор использует питухон.
Основная задача, как читающего, это перенабрать код из книги по мере изучения материала.
Проблема в том, что на очередной проверке верности работы кода, код выдаёт ошибку. Как ее решить, не представляю, так как не понимаю какого хрена оно ругается, если всё должно быть норм.

вот создаваемый класс, который перенабран с книги:
import numpy
import scipy.special

# определение класса нейронной сети
class neuralNetwork:

#инициализация нейронной сети
def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
#задать количество узлов во входном, скрытом и выходном слое
self.inodes = inputnodes
self.hnodes = hiddennodes
self.onodes = outputnodes

#матрицы весовых коэффициентов связей wih (между входным и скрытым
#слоем) и who (между скрытым и выходным слоем)
#Выссовые коэффиуиенты связей между узлом i и узлом j следующего слоя
#обозначены как w_i_j:
#w11 w21
#w12 w22 и т.д.
self.wih = numpy.random.normal(0.0, pow(self.hnodes, -0.5), (self.hnodes, self.inodes))
self.who = numpy.random.normal(0.0, pow(self.onodes, -0.5), (self.onodes, self.hnodes))

#коэффициент обучения
self.lr = learningrate

#использование сигмоиды в качестве функции активации
self.activation_function = lambda x: scipy.special.expit(x)

pass

#тренировка нейронной сети
def train():
pass

#опрос нейронной сети
def query(self, inputs_list):

#преобразовать список входныхзначений в двумерный массив
inputs = numpy.array(inputs_list, ndmin=2).T

# рассчитать входящие сигналы для скрытого слоя
hidden_inputs = numpy.dot(self.wih, inputs)
#расчитать исходящие сигналы для скрытого слоя
hidden_outputs = self.activation_function(hidden_inputs)

# рассчитать входящие сигналы для выходного слоя
final_inputs = numpy.dot(self.who, hidden_outputs)
# рассчитать исходящие сигналы для выходного слоя
final_outputs = self.асtivation_function(final_inputs)

hidden_inputs = numpy.dot(self.wih, inputs)

return final_outputs


После автор предлагает создать объект данного класса:
#количество входных, скрытых и выходных узлов
input_nodes = 3
hidden_nodes = 3
output_nodes = 3

# коэффициент обучения
learning_rate = 0.3

# создаём эккземпляр (объект класса)
n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)


А после идёт пример, в котором должен вывестись массив, а в моём случае идёт ругать
 n.query([1.0, 0.5, -1.5])
_________________________________
—————————————————————————
AttributeError Traceback (most recent call last)
<ipython-input-41-bfcec7d26f9a> in <module>
—-> 1 n.query()

<ipython-input-37-3edcc29c27b9> in query(self, inputs_list)
47 final_inputs = numpy.dot(self.who, hidden_outputs)
48 # рассчитать исходящие сигналы для выходного слоя
—> 49 final_outputs = self.асtivation_function(final_inputs)
50
51 hidden_inputs = numpy.dot(self.wih, inputs)

AttributeError: ‘neuralNetwork’ object has no attribute ‘асtivation_function’
PEHDOM
оно вам говорит что у neuralNetwork нет атрибута/метода асtivation_function
в
 final_outputs = self.асtivation_function(final_inputs)
закралась кирилица.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB