# ----------------------------------------------------------------------------# SymForce - Copyright 2022, Skydio, Inc.# This source code is under the Apache 2.0 license found in the LICENSE file.# ----------------------------------------------------------------------------from__future__importannotationsimportdataclassesfromdataclassesimportdataclassfromlcmtypes.sym._lambda_update_type_timportlambda_update_type_tfromlcmtypes.sym._optimizer_params_timportoptimizer_params_t
[docs]@dataclassclassOptimizerParams:""" Parameters for the SymForce Optimizer Mirrors the ``optimizer_params_t`` LCM type, see documentation there for information on each parameter. """verbose:bool=Falsedebug_stats:bool=Falsecheck_derivatives:bool=Falseinclude_jacobians:bool=Falsedebug_checks:bool=Falseinitial_lambda:float=1.0lambda_lower_bound:float=0.0lambda_upper_bound:float=1000000.0lambda_update_type:lambda_update_type_t=lambda_update_type_t.STATIClambda_up_factor:float=4.0lambda_down_factor:float=1/4.0dynamic_lambda_update_beta:float=2.0dynamic_lambda_update_gamma:float=3.0dynamic_lambda_update_p:int=3use_diagonal_damping:bool=Falseuse_unit_damping:bool=Truekeep_max_diagonal_damping:bool=Falsediagonal_damping_min:float=1e-6iterations:int=50early_exit_min_reduction:float=1e-6early_exit_min_absolute_error:float=0.0enable_bold_updates:bool=False