Seite 1 von 1

Funktionen: Missing 1 required positional argument(self)

Verfasst: Donnerstag 11. April 2019, 17:55
von Hypec
Hallo,
ich habe das Problem das wenn ich die Funktion unten aufrufen möchte das ich dann den Fehler:
TypeError: feedforward() missing 1 required positional argument: 'input_array'
bekomme obwohl ich sie ja eigentlich richtig aufrufe. Das Problem liegt bei dem self. Weiß irgendjemand wie ich dieses Problem lösen kann? ( Ja ich weiß die feedforward Funktion ist noch nicht Fertig und erzeugt wenn ich sie dann Aufrufen kann auch einen Fehler)

Code: Alles auswählen

import nn

def main():
    neuralnetwork = nn.Nn(3, 3, 1)

    inputs = [1, 0]
    
    output = nn.Nn.feedforward(inputs);
    print(output)
    
main()

Code: Alles auswählen

import matrix

class Nn:

    def __init__(self, input_nodes, hidden_nodes, output_nodes):
        self.input_nodes = input_nodes
        self.hidden_nodes = hidden_nodes
        self.output_nodes = output_nodes

        self.weights_ih = matrix.Matrix([self.hidden_nodes, self.input_nodes])
        self.weights_ho = matrix.Matrix([self.output_nodes, self.hidden_nodes])
        self.weights_ih = matrix.Matrix.randomize(self.weights_ih)
        self.weights_ho = matrix.Matrix.randomize(self.weights_ho)

        self.bias_h = matrix.Matrix([self.hidden_nodes, 1])
        self.bias_o = matrix.Matrix([self.output_nodes, 1])

        print(self.weights_ih)
        print(self.weights_ho)

   def feedforward(self, input_array):

        inputs = matrix.Matrix.get_values(input_array)

        hidden = matrix.Matrix.scale(self.weights_ih, inputs)
        hidden = matrix.Matrix.add(self.bias_h)

        return guess

Re: Funktionen: Missing 1 required positional argument(self)

Verfasst: Donnerstag 11. April 2019, 18:05
von Sirius3
@Hypec: das liegt daran, dass Du es falsch aufrufst. Du rufst die Funktion auf der Klassendefinition auf, statt die Methode der Instanz zu benutzen:

Code: Alles auswählen

output = neuralnetwork.feedforward(inputs)