class_docstr: A simple multi-layer perceptron module.
  
  This can be adapted for usage in different contexts, e.g. binary
  and multi-class classification, regression, etc.
  
  Note: This docstring is used to create the help for the CLI.
  
  Parameters
  ----------
  hidden_units : int (default=10)
    Number of units in hidden layers.
  
  num_hidden : int (default=1)
    Number of hidden layers.
  
  nonlin : torch.nn.Module instance (default=torch.nn.ReLU())
    Non-linearity to apply after hidden layers.
  
  dropout : float (default=0)
    Dropout rate. Dropout is applied between layers.
docstr: (Re)set all parameters.
docstr_tok: ["(","Re",")","set","all","parameters","."]
code: def reset_params(self):
      """(Re)set all parameters."""
      units = [N_FEATURES]
      units += [self.hidden_units] * self.num_hidden
      units += [N_CLASSES]
  
      sequence = []
      for u0, u1 in zip(units, units[1:]):
          sequence.append(nn.Linear(u0, u1))
          sequence.append(self.nonlin)
          sequence.append(nn.Dropout(self.dropout))
  
      sequence = sequence[:-2]
      self.sequential = nn.Sequential(*sequence)
  
imports: import pickle
  import fire
  import numpy
  from sklearn.datasets import make_classification
  from sklearn.feature_selection import SelectKBest
  from sklearn.pipeline import FeatureUnion
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import MinMaxScaler
  from sklearn.preprocessing import Normalizer
  from skorch import NeuralNetClassifier
  import torch
  from torch import nn
  from skorch.helper import parse_args
label_desc: Use image node_id 2 for calling the MLPClassifier obj's underlying member method code with example usage: obj.reset_params() without return types