Please do not define your wrapper-models on top of the models that you are asked to implement. For example, you are asked to design an MLP model with the following API:
class MLP(nn.Module):
def __init__(self, n_inputs, n_hidden, n_outputs):
# YOUR CODE HERE
def forward(self, x):
# YOUR CODE HERE
If you define a new model
class MyMLP(nn.Module):
def __init__(self, n_inputs, n_hidden, n_outputs):
self.mlp = MLP(n_inputs, n_hidden, n_outputs)
def forward(self, x):
return self.mlp(x)
and use that in the training loop, the hidden tests may fail and you will lose points.