code: def init_params(self, initializer=Uniform(0.01), arg_params=None, aux_params=None,
                      allow_missing=False, force_init=False, allow_extra=False):
          
          if self.params_initialized and not force_init:
              return
          assert self.binded, 'call bind before initializing the parameters'
          self._curr_module.init_params(initializer=initializer, arg_params=arg_params,
                                        aux_params=aux_params, allow_missing=allow_missing,
                                        force_init=force_init, allow_extra=allow_extra)
          self._params_dirty = False
          self.params_initialized = True
docs: Initializes parameters.
  
          Parameters
          ----------
          initializer : Initializer
          arg_params : dict
              Defaults to ``None``. Existing parameters. This has higher priority
              than `initializer`.
          aux_params : dict
              Defaults to ``None``. Existing auxiliary states. This has higher priority
              than `initializer`.
          allow_missing : bool
              Allow missing values in `arg_params` and `aux_params` (if not ``None``).
              In this case, missing values will be filled with `initializer`.
          force_init : bool
              Defaults to ``False``.
          allow_extra : boolean, optional
              Whether allow extra parameters that are not needed by symbol.
              If this is True, no error will be thrown when arg_params or aux_params
              contain extra parameters that is not needed by the executor.