code: def testTrainableVariablesStateDepStddev(self):
      output_spec = tensor_spec.BoundedTensorSpec([2], tf.float32, 0, 1)
      network = normal_projection_network.NormalProjectionNetwork(
          output_spec, state_dependent_std=True
      )
  
      inputs = _get_inputs(batch_size=3, num_input_dims=5)
  
      network(inputs, outer_rank=1)
      self.evaluate(tf.compat.v1.global_variables_initializer())
  
      # Dense kernel, dense bias, std bias.
      self.assertEqual(4, len(network.trainable_variables))
      self.assertEqual((5, 2), network.trainable_variables[0].shape)
      self.assertEqual((2,), network.trainable_variables[1].shape)
      self.assertEqual((5, 2), network.trainable_variables[2].shape)
      self.assertEqual((2,), network.trainable_variables[3].shape)
  
file_path: agents/tf_agents/networks/normal_projection_network_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  import tensorflow
  import tensorflow_probability
  from tf_agents.networks import normal_projection_network
  from tf_agents.specs import tensor_spec
  from tf_agents.utils import common
label_desc: Use image node_id 4 for calling the NormalProjectionNetworkTest obj's underlying member method code with example usage: obj.testTrainableVariablesStateDepStddev() without return types