class_docstr: Abstract base class for reparameterizers.
  
  Derived classes should implement :meth:`apply`.
class_docstr_tok: ["Abstract","base","class","for","reparameterizers",".","Derived","classes","should","implement",":","meth",":","`","apply","`","."]
docstr: Unwrap Independent distributions.
docstr_tok: ["Unwrap","Independent","distributions","."]
code: def _unwrap(self, fn):
      """
      Unwrap Independent distributions.
      """
      event_dim = fn.event_dim
      while isinstance(fn, torch.distributions.Independent):
          fn = fn.base_dist
      return fn, event_dim
  
file_path: pyro/pyro/infer/reparam/reparam.py
imports: import warnings
  from abc import ABC
  from typing import Callable, Optional
  import torch
  from typing_extensions import TypedDict
label_desc: Use image node_id 3 for calling the Reparam obj's underlying member method code with example usage: obj._unwrap(fn) and returns: fn,  event_dim