Also ich bin mir nicht ganz sicher, was hier vor sich geht, aber aus welchem Grund auch immer wirft Python das auf mich. Als Referenz ist es ein Teil eines kleinen neuronalen Netzwerks, das ich zum Spaß erstelle, aber es benutzt eine Menge np.array und so, es werden viele Matrizen herumgeworfen, also denke ich, dass es eine Art Datentyp-Kollision erzeugt . Vielleicht kann mir jemand helfen, das herauszufinden, weil ich diesen Fehler zu lange angeguckt habe, ohne ihn beheben zu können.Python, Tuple-Indizes müssen ganze Zahlen sein, nicht Tupel?
EDIT: Hier ist die Funktion, die die Ausgabe zurückgibt, damit Sie wissen, woher das kam. y ist ein Vektor der Länge 150, der direkt aus einem Textdokument stammt. bei jedem Index von y enthält sie einen Index entweder 1,2 oder 3:
#forward propogation algorithm takes a matrix "X" of size 150 x 3
def ForProp(self, X):
#signal vector for hidden layer
#tanh activation function
S1 = X.dot(self.W1) + self.b1
Z1 = np.tanh(S1)
#vector for the final output layer
S2 = Z1.dot(self.W2)+ self.b2
#softmax for output layer activation
expScores = np.exp(S2)
output = expScores/(np.sum(expScores, axis=1, keepdims=True))
return output,Z1
Es sieht aus wie 'output' ist nicht wirklich ein Nx4 Array wie Sie denken, es ist. – user2357112
Bitte den vollständigen Trackback angeben. –
Wie können Sie garantieren, dass y [i] im Bereich [0,3] liegt? Das scheint dein Problem zu sein. Dies ist entweder ein absoluter Fehler oder ein Bandaid, der in der Architektur behoben werden muss. – Harrichael