code: def testSavedModelLoadingSpecs(self):
      path = os.path.join(self.get_temp_dir(), "saved_policy")
      saver = policy_saver.PolicySaver(self.tf_policy)
      saver.save(path)
  
      eager_py_policy = py_tf_eager_policy.SavedModelPyTFEagerPolicy(
          path, load_specs_from_pbtxt=True
      )
  
      # Bounded specs get converted to regular specs when saved into a proto.
      def assert_specs_mostly_equal(loaded_spec, expected_spec):
          self.assertEqual(loaded_spec.shape, expected_spec.shape)
          self.assertEqual(loaded_spec.dtype, expected_spec.dtype)
  
      tf.nest.map_structure(
          assert_specs_mostly_equal,
          eager_py_policy.time_step_spec,
          self.time_step_spec,
      )
      tf.nest.map_structure(
          assert_specs_mostly_equal,
          eager_py_policy.action_spec,
          self.action_spec,
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tf_agents.agents.ddpg import actor_network
  from tf_agents.environments import batched_py_environment
  from tf_agents.environments import random_py_environment
  from tf_agents.policies import actor_policy
  from tf_agents.policies import policy_saver
  from tf_agents.policies import py_tf_eager_policy
  from tf_agents.policies import random_tf_policy
  from tf_agents.specs import array_spec
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.utils import common
  from tf_agents.utils import nest_utils
  from tf_agents.utils import test_utils
label_desc: Use image node_id 3 for calling the SavedModelPYTFEagerPolicyTest obj's underlying member method code with example usage: obj.testSavedModelLoadingSpecs() without return types