class_docstr: Configure TF Encrypted to use network hosts for the different players.
  
  :param (str,str),str->str hostmap: A mapping of hostnames to
      their IP / domain.
  :param str job_name: The name of the job.
code: def __init__(self, hostmap, job_name="tfe", debug_mode=False):
      super(RemoteConfig, self).__init__(debug_mode)
      assert isinstance(hostmap, dict)
      if not isinstance(hostmap, OrderedDict):
          logger.warning(
              "Consider passing an ordered dictionary to RemoteConfig instead"
              "in order to preserve host mapping."
          )
  
      self._job_name = job_name
      device_str = (
          "/job:{job_name}/replica:0/task:{task_id}/device:CPU:0"
      )
      self._players = OrderedDict(
          (
              name,
              Player(
                  name=name,
                  index=index,
                  device_name=device_str.format(
                      job_name=job_name, task_id=index
                  ),
                  host=host,
              ),
          )
          for index, (name, host) in enumerate(hostmap.items())
      )
  
imports: import json
  import logging
  import math
  from abc import ABC
  from abc import abstractmethod
  from collections import OrderedDict
  from pathlib import Path
  import tensorflow
  from .player import Player
label_desc: Use image node_id 1 to create a new RemoteConfig object from inherited base classes: Config with example: obj = RemoteConfig(hostmap, job_name, debug_mode)