code: def test_functions_are_cached(self):
      d = jit_public_methods.JitPublicMethods(LogProbCanary())
      d.log_prob(tf.constant(1.0))
      d.log_prob(tf.constant(2.0))
      self.assertEqual(d.log_prob_calls, 1)
      self.assertIs(d.log_prob, d.log_prob)
  
imports: import types
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import invert
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.experimental.util import jit_public_methods
  from tensorflow_probability.python.internal import test_util
  from tensorflow.python.ops import control_flow_util
label_desc: Use image node_id 5 for calling the TracedPublicMethodsTest obj's underlying member method code with example usage: obj.test_functions_are_cached() without return types