Hi there!
I am trying to train a neural network with a tensor of 1040 float inputs and have a singular float output. No matter what I do the predicted value comes out as 0
I think the problem I am having is with teaching the network. My Net class is as below. The interneuron_count is 64.
 class Net(nn.Module):
        def __init__(self):
            super().__init__()
            self.fc1 = nn.Linear(1040, interneuron_count)  # Fully connected layer1 with 1040 inputs
            self.fc2 = nn.Linear(interneuron_count, interneuron_count)
            self.fc3 = nn.Linear(interneuron_count, 1)  # final fully connected layer with one output

        def forward(self, x):
            x = F.relu(self.fc1(x))
            x = F.relu(self.fc2(x))
            x = self.fc3(x)
            return F.log_softmax(x, dim=0)

This is the code segment on how I train my neural network:
    for epoch in range(EPOCHS):
        for i in tqdm(range(0, (len(train_inputs)), BATCH_SIZE)):
            batch_X = train_inputs[i:i+BATCH_SIZE]
            batch_Y = train_outputs[i:i+BATCH_SIZE]

            net.zero_grad()
            outputs = net(batch_X)
            loss = loss_function(outputs, batch_Y)
            loss.backward()

            if epoch > learning_rate_cutoff:  # this acts as a decaying learning rate for our system
                learning_rate = 0.0001
            optimizer.step()

When I test the NN using     print(net(test_inputs[0]))  I get
tensor([0.], grad_fn=<LogSoftmaxBackward>)
instead of a value of around 1.25901
Any help with this would be greatly appreciated! Thank you