From a3b1699409def0bf1ea690c12f81774ce17384d2 Mon Sep 17 00:00:00 2001 From: Laurent Mazare Date: Wed, 9 Aug 2023 19:27:26 +0200 Subject: [PATCH] Embed the mel filters in the whisper binary. (#373) --- candle-examples/examples/whisper/main.rs | 17 ++++------------- ...l_filters.safetensors => melfilters.bytes} | Bin 64400 -> 64320 bytes 2 files changed, 4 insertions(+), 13 deletions(-) rename candle-examples/examples/whisper/{mel_filters.safetensors => melfilters.bytes} (95%) diff --git a/candle-examples/examples/whisper/main.rs b/candle-examples/examples/whisper/main.rs index 82c45348..c9e9ccc6 100644 --- a/candle-examples/examples/whisper/main.rs +++ b/candle-examples/examples/whisper/main.rs @@ -10,7 +10,7 @@ extern crate intel_mkl_src; use anyhow::{Error as E, Result}; -use candle::{safetensors::Load, DType, Device, Tensor}; +use candle::{DType, Device, Tensor}; use candle_nn::{ops::softmax, VarBuilder}; use clap::Parser; use hf_hub::{api::sync::Api, Repo, RepoType}; @@ -243,13 +243,6 @@ struct Args { /// The seed to use when generating random samples. #[arg(long, default_value_t = 299792458)] seed: u64, - - /// The mel filters in safetensors format. - #[arg( - long, - default_value = "candle-examples/examples/whisper/mel_filters.safetensors" - )] - filters: String, } fn main() -> Result<()> { @@ -301,11 +294,9 @@ fn main() -> Result<()> { }; let tokenizer = Tokenizer::from_file(tokenizer_filename).map_err(E::msg)?; - let mel_filters = unsafe { candle::safetensors::MmapedFile::new(args.filters)? }; - let mel_filters = mel_filters.deserialize()?; - let mel_filters = mel_filters.tensor("mel_80")?.load(&device)?; - println!("loaded mel filters {:?}", mel_filters.shape()); - let mel_filters = mel_filters.flatten_all()?.to_vec1::()?; + let mel_bytes = include_bytes!("melfilters.bytes"); + let mut mel_filters = vec![0f32; mel_bytes.len() / 4]; + ::read_f32_into(mel_bytes, &mut mel_filters); let mut input = std::fs::File::open(input)?; let (header, data) = wav::read(&mut input)?; diff --git a/candle-examples/examples/whisper/mel_filters.safetensors b/candle-examples/examples/whisper/melfilters.bytes similarity index 95% rename from candle-examples/examples/whisper/mel_filters.safetensors rename to candle-examples/examples/whisper/melfilters.bytes index 98f3af4498d37fc529b1dbcf17044ae4ae187f2c..0874829e2088c94e3a4f001725e7040fae57fa0c 100644 GIT binary patch delta 10 RcmbR6o%z5w=8XXkzX2Yz1%Lnm delta 90 zcmX@`jd{X%<^T@{2&h)dP0fk7Fi^6pR!S+UEJ#(dQgSmkQqoZ>&PW9DqAd(`j0_B8 kb(B&POA_Pr)6$AlONxQw20CUY#zqFQwY3UBu)*Os0H2B)mjD0&