class_docstr: Jax Rainbow network for Full Rainbow.
  
  Attributes:
    num_actions: int, number of actions the agent can take at any state.
    num_atoms: int, the number of buckets of the value function distribution.
    noisy: bool, Whether to use noisy networks.
    dueling: bool, Whether to use dueling network architecture.
    distributional: bool, whether to use distributional RL.
class_docstr_tok: ["Jax","Rainbow","network","for","Full","Rainbow",".","Attributes",":","num_actions",":","int",",","number","of","actions","the","agent","can","take","at","any","state",".","num_atoms",":","int",",","the","number","of","buckets","of","the","value","function","distribution",".","noisy",":","bool",",","Whether","to","use","noisy","networks",".","dueling",":","bool",",","Whether","to","use","dueling","network","architecture",".","distributional",":","bool",",","whether","to","use","distributional","RL","."]
code: def _record_activations(self, x, layer):
      if self.is_initializing():
          name = "/".join(layer.scope.path)
          self.layer_names.append(name)
      return IdentityLayer(name=f"{layer.name}_act")(x)
  
imports: import math
  from dopamine.discrete_domains import atari_lib
  from flax import linen
  import gin
  import jax.numpy
label_desc: Use image node_id 1 for calling the FullRainbowNetwork obj's underlying member method code with example usage: obj._record_activations(x, layer) and returns: IdentityLayer