class_docstr: Config which defines aspects of constructing an offline RL experiment.
  
  This class is similar to the ExperimentConfig, but is tailored to offline RL
  setting, so it excludes attributes related to training via interaction with
  the environment (max_num_actor_steps, policy_network_factory) and instead
  includes attributes specific to learning from demonstration.
  
  Attributes:
    builder: Builds components of an offline RL agent (Learner and Evaluator).
    network_factory: Builds networks used by the agent.
    demonstration_dataset_factory: Function that returns an iterator over
      demonstrations.
    environment_spec: Specification of the environment.
    max_num_learner_steps: How many learner steps to perform.
    seed: Seed used for agent initialization.
    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_factory: Policy factory used by evaluators. Should be specified
      to use the default evaluators (when evaluator_factories is not provided).
    environment_factory: Returns an instance of an environment to be used for
      evaluation. Should be specified to use the default evaluators (when
      evaluator_factories is not provided).
    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","offline","RL","experiment",".","This","class","is","similar","to","the","ExperimentConfig",",","but","is","tailored","to","offline","RL","setting",",","so","it","excludes","attributes","related","to","training","via","interaction","with","the","environment","(","max_num_actor_steps",",","policy_network_factory",")","and","instead","includes","attributes","specific","to","learning","from","demonstration",".","Attributes",":","builder",":","Builds","components","of","an","offline","RL","agent","(","Learner","and","Evaluator",")",".","network_factory",":","Builds","networks","used","by","the","agent",".","demonstration_dataset_factory",":","Function","that","returns","an","iterator","over","demonstrations",".","environment_spec",":","Specification","of","the","environment",".","max_num_learner_steps",":","How","many","learner","steps","to","perform",".","seed",":","Seed","used","for","agent","initialization",".","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_factory",":","Policy","factory","used","by","evaluators",".","Should","be","specified","to","use","the","default","evaluators","(","when","evaluator_factories","is","not","provided",")",".","environment_factory",":","Returns","an","instance","of","an","environment","to","be","used","for","evaluation",".","Should","be","specified","to","use","the","default","evaluators","(","when","evaluator_factories","is","not","provided",")",".","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
      if self.environment_factory is None:
          raise ValueError(
              "You need to set `environment_factory` in `OfflineExperimentConfig` "
              "when `evaluator_factories` are not specified. To disable evaluation "
              "altogether just set `evaluator_factories = []`"
          )
  
      return [
          default_evaluator_factory(
              environment_factory=self.environment_factory,
              network_factory=self.network_factory,
              policy_factory=self.builder.make_policy,
              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 OfflineExperimentConfig obj's underlying member method code with example usage: obj.get_evaluator_factories() and returns: list, self