ich bin ein blutiger Anfänger in Python und kämpfe mit meiner ersten Klasse. Wie folgender Code zeigt, rufe ich die Instanz einer Klasse auf und bekomme die Meldung das diese nicht existiert. Ich kann mir das nicht erklären?
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-7-dbbb5c1c0e55> in <module>()
12
13 # erstelle instanz des neuralen netzwerks
---> 14 n = NeuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)
15 #n.query([1.0, 0.5, -1.5])
NameError: name 'NeuralNetwork' is not defined
----------------------------------------------------------------------------
Code: Alles auswählen
import numpy
# scipy.special für die sigmoid funktion
import scipy.special
# anzahl der input, hidden und output nodes
input_nodes = 3
hidden_nodes = 3
output_nodes = 3
# lernrate
learning_rate = 0.3
# erstelle instanz des neuralen netzwerks
n = NeuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)
#n.query([1.0, 0.5, -1.5])
Code: Alles auswählen
# neural network class definition
class NeuralNetwork:
# initialisiere das neurale netzwerk
def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
# setzt anzahl der nodes in jeden input, hidden, output layer
self.inodes = inputnodes
self.hnodes = hiddennodes
self.onodes = outputnodes
# verbinde gewicht matrixen wih und who
# gewichte in den arrays sind w_i_j, wenn die verbindung von node i (input)
# zum Node j (hidden) im nächsten layer geht
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))
# setzt lernrate
self.lr = learningrate
# die aktivierungsfunktion ist die sigmoid funktion
self.activation_function = lambda x: scipy.special.expit(x)
pass
# trainiere das neurale netzwerk
def train():
pass
# frage das neurale netzwerk
def query(self, inputs_list):
# wandle input list nach 2d array
inputs = numpy.array(inputs_list, ndmin=2).T
# berechne input signal des hidden layer
hidden_inputs = numpy.dot(self.wih, inputs)
# berechne output signal des hidden layer
hidden_outputs = self.activation_function(hidden_inputs)
# berechne input signal des output layers
final_inputs = numpy.dot(self.who, hidden_outputs)
# berechne output signal des output layers
final_outputs = self.activation_function(final_inputs)
return final_outputs