PyTorch ValueError: optimizer got an empty parameter list when building a Logistic Regression Model
I tried making a logistic regression model using nn.Module
class LogisticRegressionModel(nn.Module):
def __init__(self, input_dim= None) -> None:
super().__init__()
if input_dim is not None:
torch.manual_seed(9)
self.linear = nn.Linear(in_features=input_dim, out_features=1)
else:
self.linear = None
self.input_dim = None
def forward(self, X: Tensor):
if self.linear is None:
input_dim = X.shape[1]
torch.manual_seed(9)
self.linear = nn.Linear(in_features=input_dim, out_features=1)
return torch.sigmoid(self.linear(X))
Given that in the training, I use nn.BCEWithLogitsLoss() and optim.SGD(params= model.parameters(), lr= 0.001) as my loss function and optimizer
Now when i make an instance and start training i get ValueError: optimizer got an empty parameter list