I have tried to implement the suggestions that @ptrblck made in the previous post, however, the loss for my model is 0.00 from start to finish and doesn’t change at all during the training phase.
This is my model and training phase:
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv3d(in_channels=1, out_channels=64, kernel_size=(1,7,7), stride=(1, 2, 2), padding=(0, 3, 3), bias=False)
        self.bn1 = nn.BatchNorm3d(64, track_running_stats=True)
        self.relu = nn.ReLU(inplace=True)
        self.pool = nn.MaxPool3d(kernel_size=(1, 3, 3), stride=(1, 2, 2), padding=(0, 1, 1))
        self.conv2 = nn.Conv3d(in_channels=64, out_channels=32, kernel_size=(1,7,7), stride=(1, 2, 2), padding=(0, 3, 3), bias=False)
        self.fc1 = nn.Linear(64000, 120)
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 2)

    def forward(self, x):
        x = F.relu(self.conv1(x))
        x = self.bn1(x)
        x = self.relu(x)
        x = self.pool(x)
        x = self.conv2(x)
        x = F.relu(x)
        x = self.pool(x)
        x = x.reshape(x.size(0), -1) 
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        x = x.unsqueeze(dim=1)
        return x
    
net = Net().to("cuda")

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

for epoch in range(10): 
    running_loss = 0.0
    optimizer.zero_grad()
    
    x = [torch.mean(i,0) for i in kypnts_list]
    x1 = (torch.stack(x, dim=0))
    x1 = F.pad(x1, pad=(0, 0, 0, 0, 0, 300))
    x1 = (x1.unsqueeze(dim=0)).unsqueeze(1)
    x1 = x1.to("cuda")

    labels = torch.tensor(intentions_data[0]['intent'][0]).to("cuda")
    outputs = net(x1)
    loss = criterion(outputs.squeeze(dim=1), labels.long())
    loss.backward()
    optimizer.step()
        
    running_loss += loss.item()
    print('[%d, %5d] loss: %.3f' % (epoch + 1, i + 1, running_loss / 2000))
    running_loss = 0.0

print('Finished Training')

I have a feeling it’s due to my generic model that I made, but I thought I would see some attempt at the model “learning” (i.e. some changes in loss values)