Regressor

class eyefeatures.deep.models.Regressor(backbone, output_dim, regressor_hidden_layers=(), regressor_activation=ReLU(), learning_rate=0.001, optimizer_class=<class 'torch.optim.adamw.AdamW'>, optimizer_params=None, scheduler_class=None, scheduler_params=None)[source]

Bases: BaseModel

A regression model built on top of the BaseModel, using mean squared error loss.

Parameters:
  • backbone (ModuleList | Module) – (Union[nn.ModuleList, nn.Module]) The feature extraction backbone model.

  • output_dim – (int) Dimensionality of the regression output.

  • regressor_hidden_layers – (Tuple, optional) Tuple of hidden layer sizes for the regressor. Default is empty.

  • regressor_activation – (nn.Module, optional) Activation function to use in the regressor. Default is ReLU.

  • learning_rate – (float, optional) Learning rate for the optimizer. Default is 1e-3.

  • optimizer_class (Callable) – (Callable, optional) Optimizer class to use. Default is AdamW.

  • optimizer_params (dict | None) – (dict, optional) Additional parameters for the optimizer. Default is None.

  • scheduler_class (Callable | None) – (Callable, optional) Scheduler class to use. Default is None.

  • scheduler_params (dict | None) – (dict, optional) Additional parameters for the scheduler. Default is None.

Returns:

Regression output after the forward pass.