code: def denormalize(
      batch: types.NestedArray, mean_std: NestedMeanStd
  ) -> types.NestedArray:
      """Denormalizes values in a nested structure using the given mean/std.
  
      Only values of inexact types are denormalized.
      See https://numpy.org/doc/stable/_images/dtype-hierarchy.png for Numpy type
      hierarchy.
  
      Args:
        batch: a nested structure containing batch of data.
        mean_std: mean and standard deviation used for denormalization.
  
      Returns:
        Nested structure with denormalized values.
      """
  
      def denormalize_leaf(
          data: jnp.ndarray, mean: jnp.ndarray, std: jnp.ndarray
      ) -> jnp.ndarray:
          # Only denormalize inexact types.
          if not np.issubdtype(data.dtype, np.inexact):
              return data
          return data * std + mean
  
      return tree_utils.fast_map_structure(
          denormalize_leaf, batch, mean_std.mean, mean_std.std
      )
  
imports: import dataclasses
  from typing import Any, Optional, Tuple, Union
  from acme import types
  from acme.utils import tree_utils
  import chex
  import jax
  import jax.numpy
  import numpy
  import tree
label_desc: Use image node_id 9 for calling a global function with example usage: denormalize(batch, mean_std) and returns: tree_utils, unknown, data