Hi,
I have short reads of DNA sequence of length 48 which is composed of four DNA nucleotides (“A”, “T”, “C”, “G”). So the problem I am working on is a binary classification problem to distinguish between the sequences that belong to Class I and others belong to Class II. My model is based on a one layer of conv1D and 2-3 fully connected layers. During training, I keep getting almost constant training accuracy/training loss and validation accuracy/validation loss. I would appreciate your help a lot. Below is code that I am running.
class CNNNet(nn.Module):
    #def __init__(self, input_size, hidden_size, num_layers, d_out):
    def __init__(self, voc_size, emb_dim, d_out):
        super(CNNNet,self).__init__()
        
        self.voc_size = voc_size
        self.emb_dim = emb_dim
        self.d_out = d_out
        
        self.embedding = nn.Embedding(self.voc_size, self.emb_dim)
        self.cnn1 = nn.Conv1d(in_channels=35, out_channels=128, kernel_size=11)
        self.maxpool1 = nn.MaxPool1d(kernel_size=5, stride=1)

        self.fc1 = nn.Linear(4352, 2048)
        self.fc2 = nn.Linear(2048, 1024)
        self.fc3 = nn.Linear(1024, 256)
        self.fc4 = nn.Linear(256, 64)
        self.fc5 = nn.Linear(64, 1)
        self.relu = nn.LeakyReLU()
        self.sigmoid = nn.Sigmoid()
        self.dropout = nn.Dropout(self.d_out)

    def forward(self, x):
        embeds = self.embedding(x)
        embeds = embeds.view(embeds.shape[0], embeds.shape[2], embeds.shape[1])     
        cnn_layer1 = self.relu(self.cnn1(embeds))
        mpool1 = self.maxpool1(cnn_layer1)
        x = mpool1.view(mpool1.size(0), -1)
        out = self.relu(self.dropout(self.fc1(x)))
        out = self.relu(self.dropout(self.fc2(out)))
        out = self.relu(self.dropout(self.fc3(out)))
        out = self.relu(self.dropout(self.fc4(out)))
        out = self.sigmoid(self.relu((self.fc5(out))))
        return (out)

Here is the progress of training
Epoch:  0  /Loss is:  35.44  /Acc:  0.499  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  1  /Loss is:  49.983  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  2  /Loss is:  49.983  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  3  /Loss is:  49.983  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  4  /Loss is:  49.98  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  5  /Loss is:  49.986  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  6  /Loss is:  49.985  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  7  /Loss is:  49.99  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  8  /Loss is:  49.98  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  9  /Loss is:  49.983  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  10  /Loss is:  49.98  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  11  /Loss is:  49.987  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  12  /Loss is:  49.984  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  13  /Loss is:  49.987  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5
 Epoch:  14  /Loss is:  49.98  /Acc:  0.5  /Val_Loss:  50.0 / Val Acc:  0.5