code: def test_optax_supports_namedtuple_parameters(self):
      if not JAX_MODE:
          return
      import optax  # pylint: disable=g-import-not-at-top
  
      NormalParameters = collections.namedtuple(
          "NormalParameters", ["loc", "scale"]
      )
  
      def loss_fn(loc, scale):
          return -tf.reduce_sum(
              normal.Normal(loc, scale).log_prob([-1.0, 1.0])
          )
  
      final_x, _ = self.evaluate(
          minimize_stateless(
              loss_fn,
              init=NormalParameters(loc=-1.0, scale=0.1),
              num_steps=250,
              optimizer=optax.adam(0.1),
          )
      )
      # Returned parameters should match `init` structure.
      self.assertAllClose(final_x.loc, 0.0, atol=0.1)
      self.assertAllClose(final_x.scale, 1.0, atol=0.2)
  
imports: import collections
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python import optimizer
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.math.minimize import minimize
  from tensorflow_probability.python.math.minimize import minimize_stateless
label_desc: Use image node_id 4 for calling the MinimizeStatelessTests obj's underlying member method code with example usage: obj.test_optax_supports_namedtuple_parameters() and returns: unknown