class_docstr: Cluster manager for TensorFlow servers.
code: def _get_node_cpu_devices(resource_spec: ResourceSpec):
      _cpu_devices = dict()
      for device in resource_spec.cpu_devices:
          _cpu_devices.setdefault(device[0].split(":")[0], []).append(
              ":".join(device[0].split(":")[1:])
          )
      return _cpu_devices
  
imports: import atexit
  import contextlib
  import json
  import os
  import signal
  import subprocess
  import sys
  import warnings
  from abc import ABCMeta, abstractmethod
  import paramiko
  from autodist.const import DEFAULT_PORT_RANGE, DEFAULT_WORKING_DIR, ENV
  from autodist.resource_spec import ResourceSpec
  from autodist.utils import logging
label_desc: Use image node_id 3 for calling the Cluster obj's underlying member method code with example usage: obj._get_node_cpu_devices(resource_spec) and returns: _cpu_devices