class_docstr: A wrapper for torch.optim.Optimizer objects that helps with managing dynamically generated parameters.
  
  :param optim_constructor: a torch.optim.Optimizer
  :param optim_args: a dictionary of learning arguments for the optimizer or a callable that returns
      such dictionaries
  :param clip_args: a dictionary of clip_norm and/or clip_value args or a callable that returns
      such dictionaries
code: def _get_optim_args(
      self, param: Union[Iterable[Tensor], Iterable[Dict]]
  ):
      # If we were passed a function, we call function with a
      # fully qualified name e.g. 'mymodule.mysubmodule.bias'.
      if callable(self.pt_optim_args):
          param_name = pyro.get_param_store().param_name(param)
          if self.pt_optim_args_argc == 1:
              # Normalize to the format of nn.Module.named_parameters().
              normal_name = normalize_param_name(param_name)
              opt_dict = self.pt_optim_args(normal_name)
          else:
              # DEPRECATED Split param name in to pieces.
              module_name = module_from_param_with_module_name(
                  param_name
              )
              stripped_param_name = user_param_name(param_name)
              opt_dict = self.pt_optim_args(
                  module_name, stripped_param_name
              )
  
          # must be dictionary
          assert isinstance(
              opt_dict, dict
          ), "per-param optim arg must return defaults dictionary"
          return opt_dict
      else:
          return self.pt_optim_args
  
imports: import inspect
  from typing import Any, Callable, Dict, Iterable, List, Optional, Type, Union, ValuesView
  import torch
  from torch import Tensor
  from torch.nn.utils import clip_grad_norm_, clip_grad_value_
  from torch.optim import Optimizer
  import pyro
  from pyro.optim.adagrad_rmsprop import AdagradRMSProp
  from pyro.optim.clipped_adam import ClippedAdam
  from pyro.optim.dct_adam import DCTAdam
  from pyro.params.param_store import module_from_param_with_module_name, normalize_param_name, user_param_name
label_desc: Use image node_id 8 for calling the PyroOptim obj's underlying member method code with example usage: obj._get_optim_args(param) and returns: opt_dict, self