class_docstr: Maps policy IDs to Policy objects.
  
  Thereby, keeps n policies in memory and - when capacity is reached -
  writes the least recently used to disk. This allows adding 100s of
  policies to a Algorithm for league-based setups w/o running out of memory.
code: def __delitem__(self, key: PolicyID):
      # Make key invalid.
      self._valid_keys.remove(key)
      # Remove policy from deque if contained
      if key in self._deque:
          self._deque.remove(key)
      # Remove policy from memory if currently cached.
      if key in self.cache:
          policy = self.cache[key]
          self._close_session(policy)
          del self.cache[key]
      # Remove Ray object store reference (if this ID has already been stored
      # there), so the item gets garbage collected.
      if key in self._policy_state_refs:
          del self._policy_state_refs[key]
  
imports: from collections import deque
  import threading
  from typing import Dict, Set
  import logging
  import ray
  from ray.rllib.policy.policy import Policy
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.deprecation import deprecation_warning
  from ray.rllib.utils.framework import try_import_tf
  from ray.rllib.utils.threading import with_lock
  from ray.rllib.utils.typing import PolicyID
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 4 for calling the PolicyMap obj's underlying member method code with example usage: obj.__delitem__(key) without return types