I have set up the following CNN class to train sequences of length 2000 and dim = 3.
Now, I need to test this model to predict test sequences, which are of different length = 1950, but same dim = 3. I hard-coded the in_features and out_features in fully-connected layers:
    self.fc1 = nn.Linear(2500, 2300) 
    self.fc2 = nn.Linear(2300, 2100)
    self.fc3 = nn.Linear(2100, 2000)

Thus, it doesn’t work if I need to predict sequences of different length, as numbers will be different. Any suggestions how I can make the model work without hard-coding these numbers, so it works for different number of in_features and out_features?
class my_CNN(nn.Module):
    def __init__(self):
         super(my_CNN, self).__init__()
    
        self.conv1 = nn.Conv2d(1, 10, 2, padding = (1,1))
        self.relu1 = nn.ReLU(inplace=True)
        self.maxpool1 = nn.MaxPool2d(2, 2)
        
        self.conv2 = nn.Conv2d(10, 15, 2, padding = (1,1))
        self.relu2 = nn.ReLU(inplace=True)
        self.maxpool2 = nn.MaxPool2d(2, 2)
        
        self.fc1 = nn.Linear(2500, 2300) 
        self.fc2 = nn.Linear(2300, 2100)
        self.fc3 = nn.Linear(2100, 2000)
        self.relu3 = nn.ReLU(inplace=True)
        self.relu4 = nn.ReLU(inplace=True)


       def forward(self, x):
        out1 = self.relu1(self.conv1(x))
        out2 = self.maxpool1(out1)
        out3 = self.relu2(self.conv2(out2))
        out4 = self.maxpool2(out3)
        
        out = out4.view(out4.size(0), 1, 3, -1)
        
        out = self.relu3(self.fc1(out))
        out = self.relu4(self.fc2(out))
        out = self.fc3(out)
 
        return out

List item