mirror of
https://github.com/huggingface/candle.git
synced 2025-06-16 18:48:51 +00:00
Add the whisper small model. (#490)
This commit is contained in:
@ -417,7 +417,7 @@ fn main() -> anyhow::Result<()> {
|
|||||||
}
|
}
|
||||||
let dt = start_gen.elapsed();
|
let dt = start_gen.elapsed();
|
||||||
println!(
|
println!(
|
||||||
"\n\n{} tokens generated ({} token/s)\n",
|
"\n\n{} tokens generated ({:.2} token/s)\n",
|
||||||
token_generated,
|
token_generated,
|
||||||
token_generated as f64 / dt.as_secs_f64(),
|
token_generated as f64 / dt.as_secs_f64(),
|
||||||
);
|
);
|
||||||
|
@ -243,10 +243,15 @@ pub fn token_id(tokenizer: &Tokenizer, token: &str) -> candle::Result<u32> {
|
|||||||
#[derive(Clone, Copy, Debug, ValueEnum)]
|
#[derive(Clone, Copy, Debug, ValueEnum)]
|
||||||
enum WhichModel {
|
enum WhichModel {
|
||||||
Tiny,
|
Tiny,
|
||||||
|
#[value(name = "tiny.en")]
|
||||||
TinyEn,
|
TinyEn,
|
||||||
Base,
|
Base,
|
||||||
|
#[value(name = "base.en")]
|
||||||
BaseEn,
|
BaseEn,
|
||||||
|
Small,
|
||||||
|
#[value(name = "small.en")]
|
||||||
SmallEn,
|
SmallEn,
|
||||||
|
#[value(name = "medium.en")]
|
||||||
MediumEn,
|
MediumEn,
|
||||||
LargeV2,
|
LargeV2,
|
||||||
}
|
}
|
||||||
@ -254,7 +259,7 @@ enum WhichModel {
|
|||||||
impl WhichModel {
|
impl WhichModel {
|
||||||
fn is_multilingual(&self) -> bool {
|
fn is_multilingual(&self) -> bool {
|
||||||
match self {
|
match self {
|
||||||
Self::Tiny | Self::Base | Self::LargeV2 => true,
|
Self::Tiny | Self::Base | Self::Small | Self::LargeV2 => true,
|
||||||
Self::TinyEn | Self::BaseEn | Self::SmallEn | Self::MediumEn => false,
|
Self::TinyEn | Self::BaseEn | Self::SmallEn | Self::MediumEn => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -264,6 +269,7 @@ impl WhichModel {
|
|||||||
Self::TinyEn => ("openai/whisper-tiny.en", "refs/pr/15"),
|
Self::TinyEn => ("openai/whisper-tiny.en", "refs/pr/15"),
|
||||||
Self::Base => ("openai/whisper-base", "refs/pr/22"),
|
Self::Base => ("openai/whisper-base", "refs/pr/22"),
|
||||||
Self::BaseEn => ("openai/whisper-base.en", "refs/pr/13"),
|
Self::BaseEn => ("openai/whisper-base.en", "refs/pr/13"),
|
||||||
|
Self::Small => ("openai/whisper-small", "main"),
|
||||||
Self::SmallEn => ("openai/whisper-small.en", "refs/pr/10"),
|
Self::SmallEn => ("openai/whisper-small.en", "refs/pr/10"),
|
||||||
Self::MediumEn => ("openai/whisper-medium.en", "refs/pr/11"),
|
Self::MediumEn => ("openai/whisper-medium.en", "refs/pr/11"),
|
||||||
Self::LargeV2 => ("openai/whisper-large-v2", "refs/pr/57"),
|
Self::LargeV2 => ("openai/whisper-large-v2", "refs/pr/57"),
|
||||||
@ -287,7 +293,7 @@ struct Args {
|
|||||||
revision: Option<String>,
|
revision: Option<String>,
|
||||||
|
|
||||||
/// The model to be used, can be tiny, small, medium.
|
/// The model to be used, can be tiny, small, medium.
|
||||||
#[arg(long, default_value = "tiny-en")]
|
#[arg(long, default_value = "tiny.en")]
|
||||||
model: WhichModel,
|
model: WhichModel,
|
||||||
|
|
||||||
/// The input to be processed, in wav format, will default to `jfk.wav`. Alternatively
|
/// The input to be processed, in wav format, will default to `jfk.wav`. Alternatively
|
||||||
|
Reference in New Issue
Block a user