@property
def param_groups(self) -> ParamGroups:
    next_index = 0
    param_groups = tuple((dict(param_group) for param_group in self.state_averager.optimizer.param_groups))
    for param_group in param_groups:
        num_params = len(param_group['params'])
        main_params_for_group = self.state_averager.main_parameters[next_index:(next_index + num_params)]
        param_group['params'] = main_params_for_group
        next_index += num_params
    assert (next_index == len(self.state_averager.main_parameters))
    return param_groups
@property
def param_groups(self) -> ParamGroups:
    next_index = 0
    param_groups = tuple((dict(param_group) for param_group in self.state_averager.optimizer.param_groups))
    for param_group in param_groups:
        num_params = len(param_group['params'])
        main_params_for_group = self.state_averager.main_parameters[next_index:(next_index + num_params)]
        param_group['params'] = main_params_for_group
        next_index += num_params
    assert (next_index == len(self.state_averager.main_parameters))
    return param_groups