code: def reset_parameter(**kwargs: Union[list, Callable]) -> Callable:
      """Create a callback that resets the parameter after the first iteration.
  
      .. note::
  
          The initial parameter will still take in-effect on first iteration.
  
      Parameters
      ----------
      **kwargs : value should be list or callable
          List of parameters for each boosting round
          or a callable that calculates the parameter in terms of
          current number of round (e.g. yields learning rate decay).
          If list lst, parameter = lst[current_round].
          If callable func, parameter = func(current_round).
  
      Returns
      -------
      callback : _ResetParameterCallback
          The callback that resets the parameter after the first iteration.
      """
      return _ResetParameterCallback(**kwargs)
  
imports: from collections import OrderedDict
  from dataclasses import dataclass
  from functools import partial
  from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Union
  from .basic import Booster, _ConfigAliases, _LGBM_BoosterEvalMethodResultType, _LGBM_BoosterEvalMethodResultWithStandardDeviationType, _log_info, _log_warning
label_desc: Use image node_id 4 for calling a global function with example usage: reset_parameter() and returns: _ResetParameterCallback