class_docstr: Generic AutoDist Interface.
  
  Ancestor of _V1Graph, _V2Graph, and _V2Eager -- the different ways to run TF code.
code: def __init__(self, resource_spec_file, strategy_builder=None):
      set_default_autodist(self)
      self._resource_spec = ResourceSpec(
          resource_file=resource_spec_file
      )
      self._strategy_builder = strategy_builder or PSLoadBalancing()
  
      self._original_graph_item = None
      self._transformed_graph_item = None
      self._remapper = None
      self._built = None  # Ref to the built GraphDef
  
      self._cluster: Cluster = SSHCluster(
          self._resource_spec
      )  # which can be also defined with strategy
      self._coordinator: Coordinator
  
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 1 to create a new _AutoDistInterface object  with example: obj = _AutoDistInterface(resource_spec_file, strategy_builder)