class_docstr: Generic AutoDist Interface.
  
  Ancestor of _V1Graph, _V2Graph, and _V2Eager -- the different ways to run TF code.
code: def _compile_strategy(self, strategy):
      logging.debug("Raw strategy: %s" % strategy)
      device_resolver = DeviceResolver(self._cluster)
      compiled_strategy = (
          base.StrategyCompiler(self._original_graph_item)
          .set_device_resolver(device_resolver.resolve_to_device_str)
          .compile(strategy)
      )
      logging.info("Compiled strategy: %s" % compiled_strategy)
      return compiled_strategy
  
imports: import atexit
  import os
  from collections import namedtuple
  import numpy
  from tensorflow.python.eager import context
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.util import tf_contextlib
  from autodist.cluster import Cluster, SSHCluster
  from autodist.const import ENV
  from autodist.coordinator import Coordinator
  from autodist.graph_item import GraphItem
  from autodist.kernel.device.resolver import DeviceResolver
  from autodist.kernel.graph_transformer import GraphTransformer
  from autodist.patch import PatchTensorFlow
  from autodist.remapper import Remapper
  from autodist.resource_spec import ResourceSpec
  from autodist.runner import WrappedSession
  from autodist.strategy import base
  from autodist.strategy.ps_lb_strategy import PSLoadBalancing
  from autodist.utils import logging
label_desc: Use image node_id 5 for calling the _AutoDistInterface obj's underlying member method code with example usage: obj._compile_strategy(strategy) and returns: compiled_strategy