Форум сайта python.su
Доброго времени!
Изучаю НС по книге, где автор использует питухон.
Основная задача, как читающего, это перенабрать код из книги по мере изучения материала.
Проблема в том, что на очередной проверке верности работы кода, код выдаёт ошибку. Как ее решить, не представляю, так как не понимаю какого хрена оно ругается, если всё должно быть норм.
вот создаваемый класс, который перенабран с книги:
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])
Отредактировано nickson.b.k (Апрель 29, 2021 12:21:53)
Офлайн
оно вам говорит что у neuralNetwork нет атрибута/метода асtivation_function
в
final_outputs = self.асtivation_function(final_inputs)
[code python][/code]
Отредактировано PEHDOM (Апрель 29, 2021 21:48:16)
Офлайн