class_docstr: Implementation of :class:`MultiOptimizer` that performs a Newton update
  on batched low-dimensional variables, optionally regularizing via a
  per-parameter ``trust_radius``. See :func:`~pyro.ops.newton.newton_step`
  for details.
  
  The result of :meth:`get_step` will be differentiable, however the
  updated values from :meth:`step` will be detached.
  
  :param dict trust_radii: a dict mapping parameter name to radius of trust
      region. Missing names will use unregularized Newton update, equivalent
      to infinite trust radius.
code: def __init__(self, trust_radii: Dict = {}):
      self.trust_radii = trust_radii
  
imports: from typing import Dict, List
  import torch
  from pyro.ops.newton import newton_step
  from pyro.optim.optim import PyroOptim
label_desc: Use image node_id 1 to create a new Newton object from inherited base classes: MultiOptimizer with example: obj = Newton(trust_radii)