class_docstr: checkpoint and kmeans can be downloaded at https://github.com/facebookresearch/fairseq/tree/main/examples/hubert
  or you can train your own
code: def __init__(
      self,
      checkpoint_path,
      target_sample_hz=16000,
      seq_len_multiple_of=None,
      output_layer=9,
      device=None,
  ):
      super().__init__()
      self.target_sample_hz = target_sample_hz
      self.seq_len_multiple_of = seq_len_multiple_of
      self.output_layer = output_layer
      if device is not None:
          self.to(device)
      self.model = HubertModel.from_pretrained(
          "facebook/hubert-base-ls960"
      )
      if device is not None:
          self.model.to(device)
      self.model.eval()
  
file_path: TTS/TTS/tts/layers/bark/hubert/kmeans_hubert.py
imports: import logging
  from pathlib import Path
  import torch
  from einops import pack, unpack
  from torch import nn
  from torchaudio.functional import resample
  from transformers import HubertModel
label_desc: Use image node_id 1 to create a new CustomHubert object from inherited base classes: nn with example: obj = CustomHubert(checkpoint_path, target_sample_hz, seq_len_multiple_of, output_layer, device)