code: def assertAgentParametersEqual(
      self, agent1: sac_agent.SACAgent, agent2: sac_agent.SACAgent
  ):
      agent1_params = get_agent_params(agent1)
      agent2_params = get_agent_params(agent2)
  
      agent1_params, agent1_structure = jax.tree_flatten(agent1_params)
      agent2_params, agent2_structure = jax.tree_flatten(agent2_params)
  
      self.assertEqual(
          agent1_structure,
          agent2_structure,
          "Parameter structures do not match.",
      )
  
      for param1, param2 in zip(agent1_params, agent2_params):
          if (param1 != param2).any():
              self.fail(f"Parameters are not equal: {param1}, {param2}")
  
imports: import copy
  import functools
  import operator
  import random
  from typing import Any, Tuple, Union
  from unittest import mock
  from absl.testing import absltest
  from absl.testing import parameterized
  from dopamine.jax.agents.sac import sac_agent
  import flax
  import gin
  import jax
  import numpy
label_desc: Use image node_id 1 for calling the SacAgentTest obj's underlying member method code with example usage: obj.assertAgentParametersEqual(agent1, agent2) without return types