class_docstr: Assign start nodes.
code: def get_device_band_slots(self) -> Dict[BandType, int]:
      if self._is_gpu_band():  # pragma: no cover
          band_prefix = "gpu"
      else:
          band_prefix = "numa"
      return {
          band: resource.num_cpus or resource.num_gpus
          for band, resource in self._band_resource.items()
          if band[1].startswith(band_prefix)
      }
  
imports: from abc import ABC, abstractmethod
  from collections import defaultdict
  from operator import itemgetter
  from typing import List, Dict, Union
  import numpy
  from ....core import ChunkGraph, ChunkData
  from ....core.operand import Operand, Fetch
  from ....lib.ordered_set import OrderedSet
  from ....resource import Resource
  from ....typing import BandType
  from ....utils import implements
label_desc: Use image node_id 4 for calling the AbstractGraphAssigner obj's underlying member method code with example usage: obj.get_device_band_slots() and returns: unknown