code: def numpyro_schools_model(data, draws, chains):
      """Centered eight schools implementation in NumPyro."""
      from jax.random import PRNGKey
      from numpyro.infer import MCMC, NUTS
  
      mcmc = MCMC(
          NUTS(_numpyro_noncentered_model),
          num_warmup=draws,
          num_samples=draws,
          num_chains=chains,
          chain_method="sequential",
      )
      mcmc.run(PRNGKey(0), extra_fields=("num_steps", "energy"), **data)
  
      # This block lets the posterior be pickled
      mcmc.sampler._sample_fn = None  # pylint: disable=protected-access
      mcmc.sampler._init_fn = None  # pylint: disable=protected-access
      mcmc.sampler._postprocess_fn = (
          None  # pylint: disable=protected-access
      )
      mcmc.sampler._potential_fn = (
          None  # pylint: disable=protected-access
      )
      mcmc.sampler._potential_fn_gen = (
          None  # pylint: disable=protected-access
      )
      mcmc._cache = {}  # pylint: disable=protected-access
      return mcmc
  
imports: import gzip
  import importlib
  import logging
  import os
  import sys
  from typing import Any, Dict, List, Optional, Tuple, Union
  import cloudpickle
  import numpy
  import pytest
  from _pytest.outcomes import Skipped
  from packaging.version import Version
  from ..data import InferenceData, from_dict
label_desc: Use image node_id 19 for calling a global function with example usage: numpyro_schools_model(data, draws, chains) and returns: mcmc