class_docstr: Optimizer interface.
  
  Every optimizer inherits from this base interface.
  
  Parameters
  ----------
  lr
  
  Attributes
  ----------
  learning_rate : float
      Returns the current learning rate value.
code: def _step_with_dict(self, w: dict | VectorLike, g: dict | VectorLike) -> dict:  # type: ignore
      raise NotImplementedError
  
imports: from __future__ import annotations
  import abc
  import typing
  import numpy
  from river import base, optim, utils
label_desc: Use image node_id 5 for calling the Optimizer obj's underlying member method code with example usage: obj._step_with_dict(w, g) without return types