code: def testBuild(self):
      output_spec = tensor_spec.BoundedTensorSpec([2], tf.float32, 0, 1)
      network = (
          tanh_normal_projection_network.TanhNormalProjectionNetwork(
              output_spec
          )
      )
  
      inputs = _get_inputs(batch_size=3, num_input_dims=5)
  
      distribution, _ = network(inputs, outer_rank=1)
      self.evaluate(tf.compat.v1.global_variables_initializer())
      self.assertEqual(
          tfp.distributions.MultivariateNormalDiag,
          type(distribution.input_distribution),
      )
  
      means = distribution.input_distribution.loc
      stds = distribution.input_distribution.scale
  
      self.assertAllEqual(
          means.shape.as_list(), [3] + output_spec.shape.as_list()
      )
      self.assertAllEqual(
          stds.shape.as_list(), [3] + output_spec.shape.as_list() * 2
      )
  
file_path: agents/tf_agents/agents/sac/tanh_normal_projection_network_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tensorflow_probability
  from tf_agents.agents.sac import tanh_normal_projection_network
  from tf_agents.distributions import utils
  from tf_agents.networks import sequential
  from tf_agents.specs import tensor_spec
label_desc: Use image node_id 1 for calling the TanhNormalProjectionNetworkTest obj's underlying member method code with example usage: obj.testBuild() without return types