code: def test_correct_log_prob_for_local_variable_no_strategy(self):
      data = tf.ones(4)
  
      def log_prob_parts(value):
          x, data = value
          return [
              tf.reduce_sum(normal.Normal(0.0, 1.0).log_prob(x)),
              tf.reduce_sum(normal.Normal(x, 1.0).log_prob(data)),
          ]
  
      sharded_log_prob_parts = (
          distribute_lib.make_sharded_log_prob_parts(
              log_prob_parts, [True, True]
          )
      )
      self.assertAllEqualNested(
          self.evaluate(sharded_log_prob_parts([tf.ones(4), data])),
          self.evaluate(
              [
                  tf.reduce_sum(
                      normal.Normal(0.0, 1.0).log_prob(tf.ones(4))
                  ),
                  tf.reduce_sum(
                      normal.Normal(tf.ones(4), 1.0).log_prob(data)
                  ),
              ]
          ),
      )
  
imports: import functools
  import itertools
  from absl.testing import parameterized
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import bernoulli
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import distribute_test_lib
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 3 for calling the LogProbPartsTest obj's underlying member method code with example usage: obj.test_correct_log_prob_for_local_variable_no_strategy() and returns: list