class_docstr: Residual Vector Quantizer.
  
  Args:
      dimension (int): Dimension of the codebooks.
      n_q (int): Number of residual vector quantizers used.
      q_dropout (bool): Random quantizer drop out at train time.
      bins (int): Codebook size.
      decay (float): Decay for exponential moving average over the codebooks.
      kmeans_init (bool): Whether to use kmeans to initialize the codebooks.
      kmeans_iters (int): Number of iterations used for kmeans initialization.
      threshold_ema_dead_code (int): Threshold for dead code expiration. Replace any codes
          that have an exponential moving average cluster size less than the specified threshold with
          randomly selected vector from the current batch.
      orthogonal_reg_weight (float): Orthogonal regularization weights.
      orthogonal_reg_active_codes_only (bool): Apply orthogonal regularization only on active codes.
      orthogonal_reg_max_codes (optional int): Maximum number of codes to consider.
          for orthogonal regularization.
code: def num_codebooks(self):
      return self.n_q
  
file_path: audiocraft/audiocraft/quantization/vq.py
imports: import math
  import typing
  import torch
  from .base import BaseQuantizer, QuantizedResult
  from .core_vq import ResidualVectorQuantization
label_desc: Use image node_id 6 for calling the ResidualVectorQuantizer obj's underlying member method code with example usage: obj.num_codebooks() and returns: self