Hello! This is probably something silly but I am confused about why the input to my NN doesn’t work. This is the network.
class SimpleNet(nn.Module):
    def __init__(self, ni):
        super().__init__()
        self.linear1 = nn.Linear(ni, 128)
        self.bn1 = nn.BatchNorm1d(128)
        self.linear2 = nn.Linear(128, 128)
        self.bn2 = nn.BatchNorm1d(128)
        self.linear3 = nn.Linear(128, 64)
        self.bn3 = nn.BatchNorm1d(64)
        self.linear4 = nn.Linear(64,64)
        self.bn4 = nn.BatchNorm1d(64)
        self.linear5 = nn.Linear(64,1)

    def forward(self, x):
        x = F.tanh(self.bn1(self.linear1(x)))
        x = F.tanh(self.bn2(self.linear2(x)))
        x = F.tanh(self.bn3(self.linear3(x)))
        x = F.tanh(self.bn4(self.linear4(x)))
        x = self.linear5(x)
        return x

n_variables = 2
model = SimpleNet(n_variables).cuda()

If I run
dt = torch.tensor([[1, 2],[3, 4]]).float().cuda()
model(dt)

it works fine. But for my case I need to pass one input at a time (after training) and when I do this:
dt = torch.tensor([[1, 2]]).float().cuda()
model(dt)

I am getting this error: Expected more than 1 value per channel when training, got input size torch.Size([1, 128])
What am I doing wrong? Thank you!