code: def testPeaNutsTF(self):
      batch_size = 4
      latent_size = 3
      data_size = 10
  
      def execute(_, backend):
          data = tf.random.normal(
              shape=(data_size, latent_size), dtype=np.float32
          )
  
          def step_state(state):
              return state + tf.reduce_sum(
                  input_tensor=tf.tensordot(data, state, ([1], [1]))
              )
  
          state = tf.random.normal(
              shape=(batch_size, latent_size), dtype=np.float32
          )
  
          def choose_depth(count):
              del count
              return 2
  
          program = test_programs.pea_nuts_program(
              (latent_size,), choose_depth, step_state
          )
          input_counts = np.array([3] * batch_size)
          return vm.execute(
              program, [input_counts, state], 10, backend=backend
          )
  
      # Check that running the program doesn't crash
      def _asserts_fn(f):
          result = self.evaluate(f(()))
          self.assertEqual((batch_size, latent_size), result.shape)
  
      self._tfTestHelper(_asserts_fn, execute)
  
imports: import functools
  from absl import flags
  import numpy
  import tensorflow.compat.v1
  from tensorflow_probability.python.experimental.auto_batching import numpy_backend
  from tensorflow_probability.python.experimental.auto_batching import test_programs
  from tensorflow_probability.python.experimental.auto_batching import tf_backend
  from tensorflow_probability.python.experimental.auto_batching import virtual_machine
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 11 for calling the VMTest obj's underlying member method code with example usage: obj.testPeaNutsTF() and returns: vm, unknown, int