code: def test_rng_seed_tracking(self):
      class RNGLayer(layers.Layer):
          def __init__(self):
              super().__init__()
              self.seed_gen = backend.random.SeedGenerator(seed=1337)
  
          def call(self, x):
              return x * backend.random.normal(
                  x.shape, seed=self.seed_gen
              )
  
      layer = RNGLayer()
      self.assertEqual(layer.variables, [layer.seed_gen.state])
      self.assertAllClose(layer.variables[0], [1337, 0])
      layer(np.ones((3, 4)))
      self.assertAllClose(layer.variables[0], [1337, 1])
  
      # Test tracking in list attributes.
      class RNGListLayer(layers.Layer):
          def __init__(self):
              super().__init__()
              self.seed_gens = []
              self.seed_gens.append(
                  backend.random.SeedGenerator(seed=1)
              )
              self.seed_gens.append(
                  backend.random.SeedGenerator(seed=10)
              )
  
          def call(self, x):
              x = x * backend.random.normal(
                  x.shape, seed=self.seed_gens[0]
              )
              x = x * backend.random.normal(
                  x.shape, seed=self.seed_gens[1]
              )
              return x
  
      layer = RNGListLayer()
      self.assertEqual(
          layer.variables,
          [layer.seed_gens[0].state, layer.seed_gens[1].state],
      )
      self.assertAllClose(layer.variables[0], [1, 0])
      self.assertAllClose(layer.variables[1], [10, 0])
      layer(np.ones((3, 4)))
      self.assertAllClose(layer.variables[0], [1, 1])
      self.assertAllClose(layer.variables[1], [10, 1])
  
imports: import numpy
  import pytest
  from keras import backend
  from keras import layers
  from keras import metrics
  from keras import models
  from keras import ops
  from keras import testing
label_desc: Use image node_id 3 for calling the LayerTest obj's underlying member method code with example usage: obj.test_rng_seed_tracking() and returns: unknown, x