class_docstr: Stochastic gradient descent with momentum
code: def _compute_step(self, global_gradient: np.ndarray) -> np.ndarray:
      self.v = (
          self.momentum * self.v
          + (1.0 - self.momentum) * global_gradient
      )
      step = -self.step_size * self.v
      return step
  
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 3 for calling the SGD obj's underlying member method code with example usage: obj._compute_step(global_gradient) and returns: step