class_docstr: A ready-to-use class for utterance-level classification (e.g, speaker-id,
  language-id, emotion recognition, keyword spotting, etc).
  
  The class assumes that an encoder called "embedding_model" and a model
  called "classifier" are defined in the yaml file. If you want to
  convert the predicted index into a corresponding text label, please
  provide the path of the label_encoder in a variable called 'lab_encoder_file'
  within the yaml.
  
  The class can be used either to run only the encoder (encode_batch()) to
  extract embeddings or to run a classification step (classify_batch()).
  ```
  
  Example
  -------
  >>> import torchaudio
  >>> from speechbrain.inference.classifiers import AudioClassifier
  >>> tmpdir = getfixture("tmpdir")
  >>> classifier = AudioClassifier.from_hparams(
  ...     source="speechbrain/cnn14-esc50",
  ...     savedir=tmpdir,
  ... )
  >>> signal = torch.randn(1, 16000)
  >>> prediction, _, _, text_lab = classifier.classify_batch(signal)
  >>> print(prediction.shape)
  torch.Size([1, 1, 50])
class_docstr_tok: ["A","ready-to-use","class","for","utterance-level","classification","(","e.g",",","speaker-id",",","language-id",",","emotion","recognition",",","keyword","spotting",",","etc",")",".","The","class","assumes","that","an","encoder","called","``","embedding_model","''","and","a","model","called","``","classifier","''","are","defined","in","the","yaml","file",".","If","you","want","to","convert","the","predicted","index","into","a","corresponding","text","label",",","please","provide","the","path","of","the","label_encoder","in","a","variable","called","'lab_encoder_file'","within","the","yaml",".","The","class","can","be","used","either","to","run","only","the","encoder","(","encode_batch","(",")",")","to","extract","embeddings","or","to","run","a","classification","step","(","classify_batch","(",")",")",".","``","`","Example","--","--","--","-",">",">",">","import","torchaudio",">",">",">","from","speechbrain.inference.classifiers","import","AudioClassifier",">",">",">","tmpdir","=","getfixture","(","``","tmpdir","''",")",">",">",">","classifier","=","AudioClassifier.from_hparams","(","...","source=","''","speechbrain\/cnn14-esc50","''",",","...","savedir=tmpdir",",","...",")",">",">",">","signal","=","torch.randn","(","1",",","16000",")",">",">",">","prediction",",","_",",","_",",","text_lab","=","classifier.classify_batch","(","signal",")",">",">",">","print","(","prediction.shape",")","torch.Size","(","[","1",",","1",",","50","]",")"]
docstr: Classifies the given audiofile into the given set of labels.
  
  Arguments
  ---------
  path : str
      Path to audio file to classify.
  
  Returns
  -------
  out_prob
      The log posterior probabilities of each class ([batch, N_class])
  score:
      It is the value of the log-posterior for the best class ([batch,])
  index
      The indexes of the best class ([batch,])
  text_lab:
      List with the text labels corresponding to the indexes.
      (label encoder should be provided).
docstr_tok: ["Classifies","the","given","audiofile","into","the","given","set","of","labels",".","Arguments","--","--","--","--","-","path",":","str","Path","to","audio","file","to","classify",".","Returns","--","--","--","-","out_prob","The","log","posterior","probabilities","of","each","class","(","[","batch",",","N_class","]",")","score",":","It","is","the","value","of","the","log-posterior","for","the","best","class","(","[","batch",",","]",")","index","The","indexes","of","the","best","class","(","[","batch",",","]",")","text_lab",":","List","with","the","text","labels","corresponding","to","the","indexes",".","(","label","encoder","should","be","provided",")","."]
code: def classify_file(self, path, savedir="audio_cache"):
      """Classifies the given audiofile into the given set of labels.
  
      Arguments
      ---------
      path : str
          Path to audio file to classify.
  
      Returns
      -------
      out_prob
          The log posterior probabilities of each class ([batch, N_class])
      score:
          It is the value of the log-posterior for the best class ([batch,])
      index
          The indexes of the best class ([batch,])
      text_lab:
          List with the text labels corresponding to the indexes.
          (label encoder should be provided).
      """
      source, fl = split_path(path)
      path = fetch(fl, source=source, savedir=savedir)
  
      batch, fs_file = torchaudio.load(path)
      batch = batch.to(self.device)
      fs_model = self.hparams.sample_rate
  
      # resample the data if needed
      if fs_file != fs_model:
          print(
              "Resampling the audio from {} Hz to {} Hz".format(
                  fs_file, fs_model
              )
          )
          tf = torchaudio.transforms.Resample(
              orig_freq=fs_file, new_freq=fs_model
          ).to(self.device)
          batch = batch.mean(dim=0, keepdim=True)
          batch = tf(batch)
  
      out_probs, score, index, text_lab = self.classify_batch(batch)
      return out_probs, score, index, text_lab
  
file_path: speechbrain/speechbrain/inference/classifiers.py
imports: import torch
  import torchaudio
  import speechbrain
  from speechbrain.utils.fetching import fetch
  from speechbrain.utils.data_utils import split_path
  from speechbrain.inference.interfaces import Pretrained
label_desc: Use image node_id 3 for calling the AudioClassifier obj's underlying member method code with example usage: obj.classify_file(path, savedir) and returns: out_probs,  score,  index,  text_lab