Class: Informers::AudioClassificationPipeline
- Defined in:
- lib/informers/pipelines.rb
Instance Method Summary collapse
Methods inherited from Pipeline
Constructor Details
This class inherits a constructor from Informers::Pipeline
Instance Method Details
#call(audio, top_k: nil) ⇒ Object
896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 |
# File 'lib/informers/pipelines.rb', line 896 def call(audio, top_k: nil) single = !audio.is_a?(Array) sampling_rate = @processor.feature_extractor.config["sampling_rate"] prepared_audios = prepare_audios(audio, sampling_rate) id2label = @model.config[:id2label] to_return = [] prepared_audios.each do |aud| inputs = @processor.(aud) output = @model.(inputs) logits = output.logits[0] scores = Utils.get_top_items(Utils.softmax(logits), top_k) vals = scores.map do |x| { label: id2label[x[0].to_s], score: x[1] } end if top_k == 1 to_return.concat(vals) else to_return << vals end end !single || top_k == 1 ? to_return : to_return[0] end |