code: def _get_solver_kwargs(self):
      fit_kwargs = {
          "max_iter": self.max_iter,
          "family": self.family,
          "tol": self.tol,
          "regularizer": self.penalty,
          "lamduh": 1 / self.C,
      }
  
      if self.solver in ("gradient_descent", "newton"):
          fit_kwargs.pop("regularizer")
          fit_kwargs.pop("lamduh")
  
      if self.solver == "admm":
          fit_kwargs.pop("tol")  # uses reltol / abstol instead
  
      if self.solver_kwargs:
          fit_kwargs.update(self.solver_kwargs)
  
      solvers = {
          "admm",
          "proximal_grad",
          "lbfgs",
          "newton",
          "proximal_grad",
          "gradient_descent",
      }
  
      if self.solver not in solvers:
          msg = "'solver' must be {}. Got '{}' instead".format(
              solvers, self.solver
          )
          raise ValueError(msg)
  
      return fit_kwargs
  
imports: import textwrap
  from dask_glm import algorithms, families
  from dask_glm.utils import accuracy_score, add_intercept, dot, exp, poisson_deviance, sigmoid
  from sklearn.base import BaseEstimator
  from ..metrics import r2_score
  from ..utils import check_array
  from .utils import lr_prob_stack
label_desc: Use image node_id 3 for calling the _GLM obj's underlying member method code with example usage: obj._get_solver_kwargs() and returns: fit_kwargs