code: def test_log_prob_parts_with_improper_base_dists(self):
      root = jdc.JointDistributionCoroutine.Root
  
      @jdc.JointDistributionCoroutine
      def model():
          x = yield root(normal.Normal(0.0, 1.0, name="x"))
          yield ilp.IncrementLogProb(
              normal.Normal(x, 2.0).log_prob(0.0), name="y"
          )
  
      p = model.experimental_pin(y=tf.zeros([0]))
  
      parts = p.unnormalized_log_prob_parts(x=2.0)
      self.assertAllCloseNested(
          normal.Normal(0.0, 1.0).log_prob(2.0), parts.unpinned.x
      )
      self.assertAllCloseNested(
          normal.Normal(2.0, 2.0).log_prob(0.0), parts.pinned.y
      )
  
imports: import collections
  import functools
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import pad
  from tensorflow_probability.python.distributions import beta
  from tensorflow_probability.python.distributions import binomial
  from tensorflow_probability.python.distributions import cholesky_lkj
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_auto_batched
  from tensorflow_probability.python.distributions import joint_distribution_coroutine
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import multinomial
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.experimental.distributions import increment_log_prob
  from tensorflow_probability.python.experimental.distributions import joint_distribution_pinned
  from tensorflow_probability.python.internal import structural_tuple
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import generic
label_desc: Use image node_id 15 for calling the JointDistributionPinnedTest obj's underlying member method code with example usage: obj.test_log_prob_parts_with_improper_base_dists() without return types