code: def testBuildsScalarContinuousActionSpace(self):
      observation_spec = tensor_spec.BoundedTensorSpec(
          (8, 8, 3), tf.float32, 0, 1
      )
      time_step_spec = ts.time_step_spec(observation_spec)
      time_step = tensor_spec.sample_spec_nest(
          time_step_spec, outer_dims=(1,)
      )
  
      action_spec = tensor_spec.BoundedTensorSpec((), tf.float32, 2, 3)
  
      net = actor_distribution_network.ActorDistributionNetwork(
          observation_spec, action_spec
      )
  
      action_distributions, _ = net(
          time_step.observation, time_step.step_type, ()
      )
      self.evaluate(tf.compat.v1.global_variables_initializer())
      self.assertEqual([1], action_distributions.mode().shape.as_list())
  
file_path: agents/tf_agents/networks/actor_distribution_network_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tf_agents.networks import actor_distribution_network
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 2 for calling the ActorDistributionNetworkTest obj's underlying member method code with example usage: obj.testBuildsScalarContinuousActionSpace() without return types