code: def check_fully_reparametrized(guide_site):
      log_prob, score_function_term, entropy_term = guide_site[
          "score_parts"
      ]
      fully_rep = (
          guide_site["fn"].has_rsample
          and not is_identically_zero(entropy_term)
          and is_identically_zero(score_function_term)
      )
      if not fully_rep:
          raise NotImplementedError(
              "All distributions in the guide must be fully reparameterized."
          )
  
imports: import math
  import numbers
  from collections import Counter, defaultdict
  from contextlib import contextmanager
  import torch
  from opt_einsum import shared_intermediates
  from opt_einsum.sharing import count_cached_ops
  from pyro.distributions.util import is_identically_zero
  from pyro.ops import packed
  from pyro.ops.einsum.adjoint import require_backward
  from pyro.ops.rings import MarginalRing
  from pyro.poutine.util import site_is_subsample
  from ..None import settings
label_desc: Use image node_id 13 for calling a global function with example usage: check_fully_reparametrized(guide_site) without return types