Defaults
spock
allows you to set defaults for parameters that are either not set from a configuration file or you no longer
need to set (maybe you've finally settled on a standard or would like to fall back to defaults if the user does not
know the correct/best parameter to choose). This is done in the spock
class definition.
#
Setting DefaultsSay we want defaults for the hidden layer sizes and the activation function as well as add a new parameter with a default value.
Default values are simply set with the =
operator
Let's modify the definition in: tutorial.py
from enum import Enumfrom spock import spockfrom typing import Listfrom typing import Optionalfrom typing import Tuple
class Activation(Enum): relu = 'relu' gelu = 'gelu' tanh = 'tanh'
@spockclass ModelConfig: lr: float = 0.01 n_features: int dropout: List[float] hidden_sizes: Tuple[int, int, int] = (32, 32, 32) activation: Activation = 'relu'
We added a new parameter lr
that has a default value of 0.01
, and set defaults for hidden_sizes
and activation
.
These values will be used if no values are specified in the configuration file and prevent spock
from raising an
Exception for required parameters.