WebNN support initial
This commit is contained in:
+15
-8
@@ -122,6 +122,12 @@ const WEBGPU_FP16_Q4: DtypeDefault = {
|
||||
note: "fp16 encoder + q4 merged decoder — the common working WebGPU setup.",
|
||||
};
|
||||
|
||||
const WEBNN_FP16: DtypeDefault = {
|
||||
dtype: "fp16",
|
||||
verified: false,
|
||||
note: "fp16 is commonly used with WebNN.",
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// The catalog (D-006: curated, not exhaustive)
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -138,6 +144,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
// Verified in-browser during M1 (WASM, Transformers.js default q8).
|
||||
wasm: { ...WASM_Q8, verified: true },
|
||||
webgpu: WEBGPU_FP32,
|
||||
webnn: WEBNN_FP16,
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -147,7 +154,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: true,
|
||||
encoderParamsM: 8,
|
||||
decoderParamsM: 31,
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP32 },
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP32, webnn: WEBNN_FP16 },
|
||||
},
|
||||
{
|
||||
id: "onnx-community/whisper-base.en",
|
||||
@@ -156,7 +163,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: false,
|
||||
encoderParamsM: 20,
|
||||
decoderParamsM: 54,
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP32 },
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP32, webnn: WEBNN_FP16 },
|
||||
},
|
||||
{
|
||||
id: "onnx-community/whisper-base",
|
||||
@@ -165,7 +172,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: true,
|
||||
encoderParamsM: 20,
|
||||
decoderParamsM: 54,
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP32 },
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP32, webnn: WEBNN_FP16 },
|
||||
},
|
||||
{
|
||||
id: "onnx-community/whisper-small.en",
|
||||
@@ -174,7 +181,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: false,
|
||||
encoderParamsM: 88,
|
||||
decoderParamsM: 156,
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP16_Q4 },
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP16_Q4, webnn: WEBNN_FP16 },
|
||||
},
|
||||
{
|
||||
id: "onnx-community/whisper-small",
|
||||
@@ -183,7 +190,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: true,
|
||||
encoderParamsM: 88,
|
||||
decoderParamsM: 156,
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP16_Q4 },
|
||||
defaults: { wasm: WASM_Q8, webgpu: WEBGPU_FP16_Q4, webnn: WEBNN_FP16 },
|
||||
},
|
||||
{
|
||||
id: "onnx-community/whisper-medium.en",
|
||||
@@ -192,7 +199,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: false,
|
||||
encoderParamsM: 306,
|
||||
decoderParamsM: 463,
|
||||
defaults: { wasm: WASM_Q4, webgpu: WEBGPU_FP16_Q4 },
|
||||
defaults: { wasm: WASM_Q4, webgpu: WEBGPU_FP16_Q4, webnn: WEBNN_FP16 },
|
||||
},
|
||||
{
|
||||
id: "onnx-community/whisper-medium",
|
||||
@@ -201,7 +208,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: true,
|
||||
encoderParamsM: 306,
|
||||
decoderParamsM: 463,
|
||||
defaults: { wasm: WASM_Q4, webgpu: WEBGPU_FP16_Q4 },
|
||||
defaults: { wasm: WASM_Q4, webgpu: WEBGPU_FP16_Q4, webnn: WEBNN_FP16 },
|
||||
},
|
||||
{
|
||||
id: "onnx-community/whisper-large-v3-turbo",
|
||||
@@ -210,7 +217,7 @@ export const MODELS: readonly WhisperModel[] = [
|
||||
multilingual: true,
|
||||
encoderParamsM: 635,
|
||||
decoderParamsM: 174,
|
||||
defaults: { wasm: WASM_Q4, webgpu: WEBGPU_FP16_Q4 },
|
||||
defaults: { wasm: WASM_Q4, webgpu: WEBGPU_FP16_Q4, webnn: WEBNN_FP16 },
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user