I have tried to read the text on similar topics, but can’t seem to figure out whats wrong here.
This is the error:
Traceback (most recent call last):
File “”, line 1, in
TypeError: predict() takes 1 positional argument but 2 were given
Here is the code:
class NeuralNetwork(nn.Module):
def __init__(self, ):
super(NeuralNetwork, self).__init__()
self.inputSize = 2
self.outputSize = 1
self.hiddenSize = 3
self.W1 = torch.randn(self.inputSize, self.hiddenSize)
self.W2 = torch.randn(self.hiddenSize, self.outputSize)
def forward(self, X):
self.z = torch.matmul(X, self.W1)
self.z2 = self.sigmoid(self.z)
self.z3 = torch.matmul(self.z2, self.W2)
o = self.sigmoid(self.z3)
return o
def sigmoid(self, s):
return 1 / (1 + torch.exp(-s))
def predict(self, x_predicted):
print('Predicted data based on trained weights: ')
print('Input (scaled): \n' + str(x_predicted))
print('Output: \n' + str(self.forward(x_predicted)))
from package_name.class_name import NeuralNetwork
xPredicted = torch.load('data/xPredicted.pt')
NN = NeuralNetwork()
NN.predict(xPredicted)
xPredicted is correctly loaded and defined. What I don’t understand is why predict() only takes one positional argument when it has both self and x_predicted? And how do I set this up so that it works?