help me I’m having an error:
TypeError: forward() missing 1 required positional argument: ‘X’
this is my code
"import torch
import torchvision
import torch.nn as nn
import torchvision.transforms as transforms
from torch.autograd import Variable
from PIL import Image, ImageOps, ImageEnhance
class ConvolutionalNetwork(nn.Module):
def init(self):
super().init()
self.conv2 = nn.Conv2d(6, 16, kernel_size=3, stride=1,padding=1)
self.fc1 = nn.Linear(565616, 120)
#hidden layer de 120 y 84
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 18)#este 18 son las 18 clases
def forward(self, X):
X = F.relu(self.conv1(X))
X = F.max_pool2d(X, 2, 2)#max pooling de 2x2
X = F.relu(self.conv2(X))
X = F.max_pool2d(X, 2, 2)
X = X.view(-1, 56*56*16)
X = F.relu(self.fc1(X))
X = F.relu(self.fc2(X))
X = self.fc3(X)
return F.log_softmax(X, dim=1)
torch.manual_seed(101)
CNNmodel = ConvolutionalNetwork()
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(CNNmodel.parameters(), lr=0.001)
torch.manual_seed(0)
model=torch.load(‘quinua_pytorch.pt’)
model = CNNmodel()
model.load_state_dict(torch.load(‘quinua_pytorch.pt’)) #line to change
model.eval()
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) # Same as for your validation data, e.g. Resize, ToTensor, Normalize, …
img = Image.open(’…/ejecutar/1.jpg’) # Load image as PIL.Image
x = transform(img) # Preprocess image
x = x.unsqueeze(0) # Add batch dimension
output = model(x) # Forward pass
pred = torch.argmax(output, 1) # Get predicted class if multi-class classification
print('Image predicted as ', pred)"