Class: Informers::Wav2Vec2FeatureExtractor

Inherits:
FeatureExtractor show all
Defined in:
lib/informers/processors.rb

Instance Attribute Summary

Attributes inherited from FeatureExtractor

#config

Instance Method Summary collapse

Methods inherited from FeatureExtractor

#initialize

Constructor Details

This class inherits a constructor from Informers::FeatureExtractor

Instance Method Details

#_zero_mean_unit_var_norm(input_values) ⇒ Object



750
751
752
753
754
755
# File 'lib/informers/processors.rb', line 750

def _zero_mean_unit_var_norm(input_values)
  sum = input_values.sum
  mean = sum / input_values.length.to_f
  variance = input_values.sum { |b| (b - mean) ** 2 } / input_values.length.to_f
  input_values.map { |x| (x - mean) / Math.sqrt(variance + 1e-7) }
end

#call(audio) ⇒ Object



757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
# File 'lib/informers/processors.rb', line 757

def call(audio)
  # TODO
  # validate_audio_inputs(audio, 'Wav2Vec2FeatureExtractor')

  input_values = audio

  # zero-mean and unit-variance normalization
  if @config["do_normalize"]
    input_values = _zero_mean_unit_var_norm(input_values)
  end

  # TODO: allow user to pass in attention mask
  {
    input_values: [input_values],
    attention_mask: [Array.new(input_values.length, 1)]
  }
end