class_docstr: ARS Builder.
code: def make_actor(
      self,
      random_key: networks_lib.PRNGKey,
      policy: Tuple[str, networks_lib.FeedForwardNetwork],
      environment_spec: specs.EnvironmentSpec,
      variable_source: Optional[core.VariableSource] = None,
      adder: Optional[adders.Adder] = None,
  ) -> acme.Actor:
      del environment_spec
      assert variable_source is not None
  
      kname, policy = policy
  
      normalization_apply_fn = (
          running_statistics.normalize
          if self._config.normalize_observations
          else (lambda a, b: a)
      )
      policy_to_run = get_policy(policy, normalization_apply_fn)
  
      actor_core = (
          actor_core_lib.batched_feed_forward_with_extras_to_actor_core(
              policy_to_run
          )
      )
      variable_client = variable_utils.VariableClient(
          variable_source, kname, device="cpu"
      )
      return actors.GenericActor(
          actor_core,
          random_key,
          variable_client,
          adder,
          backend="cpu",
          per_episode_update=True,
      )
  
imports: from typing import Dict, Iterator, List, Optional, Tuple
  import acme
  from acme import adders
  from acme import core
  from acme import specs
  from acme.adders import reverb
  from acme.agents.jax import actor_core
  from acme.agents.jax import actors
  from acme.agents.jax import builders
  from acme.agents.jax.ars import config
  from acme.agents.jax.ars import learning
  from acme.jax import networks
  from acme.jax import running_statistics
  from acme.jax import utils
  from acme.jax import variable_utils
  from acme.utils import counting
  from acme.utils import loggers
  import jax
  import jax.numpy
  import numpy
  import reverb
label_desc: Use image node_id 3 for calling the ARSBuilder obj's underlying member method code with example usage: obj.make_actor(random_key, policy, environment_spec, variable_source, adder) and returns: actors