docstr: Base Anchor Cluster
  
  Args:
      n (int): number of clusters
      cache_path (str): cache directory path
      cache (bool): whether using cache
      verbose (bool): whether print results
docstr_tok: ["Base","Anchor","Cluster","Args",":","n","(","int",")",":","number","of","clusters","cache_path","(","str",")",":","cache","directory","path","cache","(","bool",")",":","whether","using","cache","verbose","(","bool",")",":","whether","print","results"]
code: def __init__(self, n, cache_path, cache, verbose=True):
      """
      Base Anchor Cluster
  
      Args:
          n (int): number of clusters
          cache_path (str): cache directory path
          cache (bool): whether using cache
          verbose (bool): whether print results
      """
      super(BaseAnchorCluster, self).__init__()
      self.n = n
      self.cache_path = cache_path
      self.cache = cache
      self.verbose = verbose
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import sys
  from ppdet.utils.logger import setup_logger
  from scipy.cluster.vq import kmeans
  import numpy
  from tqdm import tqdm
  from ppdet.utils.cli import ArgsParser
  from ppdet.utils.check import check_gpu, check_version, check_config
  from ppdet.core.workspace import load_config, merge_config
label_desc: Use image node_id 1 to create a new BaseAnchorCluster object from inherited base classes: object with example: obj = BaseAnchorCluster(n, cache_path, cache, verbose)