class_docstr: Stochastic gradient descent with momentum
code: def __init__(self, step_size: float, momentum: float = 0.9):
      super().__init__()
  
      # options
      self.step_size, self.momentum = step_size, momentum
  
      # smoothed gradient, initialized by setup()
      self.v: Optional[np.ndarray] = None
  
file_path: maze/maze/train/trainers/es/optimizers/sgd.py
imports: from typing import Optional
  import numpy
  from maze.core.agent.torch_policy import TorchPolicy
  from maze.core.annotations import override
  from maze.train.trainers.es.optimizers.base_optimizer import Optimizer
label_desc: Use image node_id 1 to create a new SGD object from inherited base classes: Optimizer with example: obj = SGD(step_size, momentum)