class_docstr: Config which defines aspects of constructing an experiment.
  
  Attributes:
    builder: Builds components of an RL agent (Learner, Actor...).
    network_factory: Builds networks used by the agent.
    environment_factory: Returns an instance of an environment.
    max_num_actor_steps: How many environment steps to perform.
    seed: Seed used for agent initialization.
    policy_network_factory: Policy network factory which is used actors to
      perform inference.
    evaluator_factories: Factories of policy evaluators. When not specified the
      default evaluators are constructed using eval_policy_network_factory. Set
      to an empty list to disable evaluators.
    eval_policy_network_factory: Policy network factory used by evaluators.
      Should be specified to use the default evaluators (when
      evaluator_factories is not provided).
    environment_spec: Specification of the environment. Can be specified to
      reduce the number of times environment_factory is invoked (for performance
      or resource usage reasons).
    observers: Observers used for extending logs with custom information.
    logger_factory: Loggers factory used to construct loggers for learner,
      actors and evaluators.
    checkpointing: Configuration options for checkpointing. If None,
      checkpointing and snapshotting is disabled.
class_docstr_tok: ["Config","which","defines","aspects","of","constructing","an","experiment",".","Attributes",":","builder",":","Builds","components","of","an","RL","agent","(","Learner",",","Actor","...",")",".","network_factory",":","Builds","networks","used","by","the","agent",".","environment_factory",":","Returns","an","instance","of","an","environment",".","max_num_actor_steps",":","How","many","environment","steps","to","perform",".","seed",":","Seed","used","for","agent","initialization",".","policy_network_factory",":","Policy","network","factory","which","is","used","actors","to","perform","inference",".","evaluator_factories",":","Factories","of","policy","evaluators",".","When","not","specified","the","default","evaluators","are","constructed","using","eval_policy_network_factory",".","Set","to","an","empty","list","to","disable","evaluators",".","eval_policy_network_factory",":","Policy","network","factory","used","by","evaluators",".","Should","be","specified","to","use","the","default","evaluators","(","when","evaluator_factories","is","not","provided",")",".","environment_spec",":","Specification","of","the","environment",".","Can","be","specified","to","reduce","the","number","of","times","environment_factory","is","invoked","(","for","performance","or","resource","usage","reasons",")",".","observers",":","Observers","used","for","extending","logs","with","custom","information",".","logger_factory",":","Loggers","factory","used","to","construct","loggers","for","learner",",","actors","and","evaluators",".","checkpointing",":","Configuration","options","for","checkpointing",".","If","None",",","checkpointing","and","snapshotting","is","disabled","."]
docstr: Constructs the evaluator factories.
docstr_tok: ["Constructs","the","evaluator","factories","."]
code: def get_evaluator_factories(self):
      """Constructs the evaluator factories."""
      if self.evaluator_factories is not None:
          return self.evaluator_factories
  
      def eval_policy_factory(
          networks: builders.Networks,
          environment_spec: specs.EnvironmentSpec,
          evaluation: bool,
      ) -> builders.Policy:
          del evaluation
          # The config factory has precedence until all agents are migrated to use
          # builder.make_policy
          if self.eval_policy_network_factory is not None:
              return self.eval_policy_network_factory(networks)
          else:
              return self.builder.make_policy(
                  networks=networks,
                  environment_spec=environment_spec,
                  evaluation=True,
              )
  
      return [
          default_evaluator_factory(
              environment_factory=self.environment_factory,
              network_factory=self.network_factory,
              policy_factory=eval_policy_factory,
              logger_factory=self.logger_factory,
              observers=self.observers,
          )
      ]
  
imports: import dataclasses
  import datetime
  from typing import Any, Callable, Dict, Generic, Iterator, Optional, Sequence
  from acme import core
  from acme import environment_loop
  from acme import specs
  from acme.agents.jax import builders
  from acme.jax import types
  from acme.jax import utils
  from acme.utils import counting
  from acme.utils import loggers
  from acme.utils import observers
  from acme.utils import experiment_utils
  import jax
  from typing_extensions import Protocol
label_desc: Use image node_id 1 for calling the ExperimentConfig obj's underlying member method code with example usage: obj.get_evaluator_factories() and returns: list, self, self, self