mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2025-06-16 05:48:09 +00:00
Some checks failed
Bindings Tests (Ruby) / ubuntu-22 (push) Has been cancelled
CI / determine-tag (push) Has been cancelled
CI / ubuntu-22 (linux/amd64) (push) Has been cancelled
CI / ubuntu-22 (linux/ppc64le) (push) Has been cancelled
CI / ubuntu-22-arm64 (linux/arm64) (push) Has been cancelled
CI / ubuntu-22-arm-v7 (linux/arm/v7) (push) Has been cancelled
CI / macOS-latest (generic/platform=iOS) (push) Has been cancelled
CI / macOS-latest (generic/platform=macOS) (push) Has been cancelled
CI / macOS-latest (generic/platform=tvOS) (push) Has been cancelled
CI / ubuntu-22-gcc (linux/amd64, Debug) (push) Has been cancelled
CI / ubuntu-22-gcc (linux/amd64, Release) (push) Has been cancelled
CI / ubuntu-22-gcc (linux/ppc64le, Debug) (push) Has been cancelled
CI / ubuntu-22-gcc (linux/ppc64le, Release) (push) Has been cancelled
CI / ubuntu-22-gcc-arm64 (linux/arm64, Debug) (push) Has been cancelled
CI / ubuntu-22-gcc-arm64 (linux/arm64, Release) (push) Has been cancelled
CI / ubuntu-22-gcc-arm-v7 (linux/arm/v7, Debug) (push) Has been cancelled
CI / ubuntu-22-gcc-arm-v7 (linux/arm/v7, Release) (push) Has been cancelled
CI / ubuntu-22-clang (linux/amd64, Debug) (push) Has been cancelled
CI / ubuntu-22-clang (linux/amd64, Release) (push) Has been cancelled
CI / ubuntu-22-clang (linux/arm64, Debug) (push) Has been cancelled
CI / ubuntu-22-clang (linux/arm64, Release) (push) Has been cancelled
CI / ubuntu-22-clang (linux/ppc64le, Debug) (push) Has been cancelled
CI / ubuntu-22-clang (linux/ppc64le, Release) (push) Has been cancelled
CI / ubuntu-22-gcc-sanitized (linux/amd64, ADDRESS) (push) Has been cancelled
CI / ubuntu-22-gcc-sanitized (linux/amd64, THREAD) (push) Has been cancelled
CI / ubuntu-22-gcc-sanitized (linux/amd64, UNDEFINED) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl (linux/amd64, icx, icpx, ON) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl (linux/arm/v7, icx, icpx, ON) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl (linux/arm64, icx, icpx, ON) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl (linux/ppc64le, icx, icpx, ON) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl-fp16 (linux/amd64, icx, icpx, ON) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl-fp16 (linux/arm/v7, icx, icpx, ON) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl-fp16 (linux/arm64, icx, icpx, ON) (push) Has been cancelled
CI / ubuntu-22-cmake-sycl-fp16 (linux/ppc64le, icx, icpx, ON) (push) Has been cancelled
CI / windows-msys2 (Release, clang-x86_64, CLANG64) (push) Has been cancelled
CI / windows-msys2 (Release, ucrt-x86_64, UCRT64) (push) Has been cancelled
CI / windows (Win32, Release, win32-x86, x86, 2.28.5, ON) (push) Has been cancelled
CI / windows (x64, Release, win32-x86-64, x64, 2.28.5, ON) (push) Has been cancelled
CI / windows-blas (Win32, ON, x86, 0.3.29, Release, x86, 2.28.5, ON) (push) Has been cancelled
CI / windows-blas (x64, ON, x64_64, 0.3.29, Release, x64, 2.28.5, ON) (push) Has been cancelled
CI / windows-cublas (x64, Release, ON, 11.8.0, ON, 2.28.5) (push) Has been cancelled
CI / windows-cublas (x64, Release, ON, 12.2.0, ON, 2.28.5) (push) Has been cancelled
CI / emscripten (Release) (push) Has been cancelled
CI / android (push) Has been cancelled
CI / android_java (push) Has been cancelled
CI / quantize (push) Has been cancelled
CI / vad (push) Has been cancelled
Publish Docker image / Push Docker image to Docker Hub (map[dockerfile:.devops/main-musa.Dockerfile platform:linux/amd64 tag:main-musa]) (push) Has been cancelled
Publish Docker image / Push Docker image to Docker Hub (map[dockerfile:.devops/main.Dockerfile platform:linux/amd64 tag:main]) (push) Has been cancelled
Examples WASM / deploy-wasm-github-pages (push) Has been cancelled
CI / ios-xcode-build (Release) (push) Has been cancelled
CI / bindings-java (push) Has been cancelled
CI / release (push) Has been cancelled
CI / coreml-base-en (push) Has been cancelled
* Fix indentation of code sample in document comment * Make Whisper::Context#transcribe able to run non-parallel * Add test for Whisper::Context#transcribe with parallel option * Follow signature API change of Context#transcribe * Remove useless variable assignment * Move simple usage up in README * Add need help section in README * Add document on Context#transcribe's parallel option in README * Update date * Fix signature of Context.new * Make Context#subscribe accept n_processors option * Make test follow #transcribe's change * Make RBS follow #transcribe's change * Add document for #transcribe's n_processors option * Rename test directory so that Rake tasks' default setting is used
119 lines
3.6 KiB
Ruby
119 lines
3.6 KiB
Ruby
require_relative "helper"
|
|
require "pathname"
|
|
|
|
class TestModel < TestBase
|
|
def test_model
|
|
whisper = Whisper::Context.new("base.en")
|
|
assert_instance_of Whisper::Model, whisper.model
|
|
end
|
|
|
|
def test_attributes
|
|
whisper = Whisper::Context.new("base.en")
|
|
model = whisper.model
|
|
|
|
assert_equal 51864, model.n_vocab
|
|
assert_equal 1500, model.n_audio_ctx
|
|
assert_equal 512, model.n_audio_state
|
|
assert_equal 8, model.n_audio_head
|
|
assert_equal 6, model.n_audio_layer
|
|
assert_equal 448, model.n_text_ctx
|
|
assert_equal 512, model.n_text_state
|
|
assert_equal 8, model.n_text_head
|
|
assert_equal 6, model.n_text_layer
|
|
assert_equal 80, model.n_mels
|
|
assert_equal 1, model.ftype
|
|
assert_equal "base", model.type
|
|
end
|
|
|
|
def test_gc
|
|
model = Whisper::Context.new("base.en").model
|
|
GC.start
|
|
|
|
assert_equal 51864, model.n_vocab
|
|
assert_equal 1500, model.n_audio_ctx
|
|
assert_equal 512, model.n_audio_state
|
|
assert_equal 8, model.n_audio_head
|
|
assert_equal 6, model.n_audio_layer
|
|
assert_equal 448, model.n_text_ctx
|
|
assert_equal 512, model.n_text_state
|
|
assert_equal 8, model.n_text_head
|
|
assert_equal 6, model.n_text_layer
|
|
assert_equal 80, model.n_mels
|
|
assert_equal 1, model.ftype
|
|
assert_equal "base", model.type
|
|
end
|
|
|
|
def test_pathname
|
|
path = Pathname(Whisper::Model.pre_converted_models["base.en"].to_path)
|
|
whisper = Whisper::Context.new(path)
|
|
model = whisper.model
|
|
|
|
assert_equal 51864, model.n_vocab
|
|
assert_equal 1500, model.n_audio_ctx
|
|
assert_equal 512, model.n_audio_state
|
|
assert_equal 8, model.n_audio_head
|
|
assert_equal 6, model.n_audio_layer
|
|
assert_equal 448, model.n_text_ctx
|
|
assert_equal 512, model.n_text_state
|
|
assert_equal 8, model.n_text_head
|
|
assert_equal 6, model.n_text_layer
|
|
assert_equal 80, model.n_mels
|
|
assert_equal 1, model.ftype
|
|
assert_equal "base", model.type
|
|
end
|
|
|
|
def test_auto_download
|
|
path = Whisper::Model.pre_converted_models["base.en"].to_path
|
|
|
|
assert_path_exist path
|
|
assert_equal 147964211, File.size(path)
|
|
end
|
|
|
|
def test_uri_string
|
|
path = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin"
|
|
whisper = Whisper::Context.new(path)
|
|
model = whisper.model
|
|
|
|
assert_equal 51864, model.n_vocab
|
|
assert_equal 1500, model.n_audio_ctx
|
|
assert_equal 512, model.n_audio_state
|
|
assert_equal 8, model.n_audio_head
|
|
assert_equal 6, model.n_audio_layer
|
|
assert_equal 448, model.n_text_ctx
|
|
assert_equal 512, model.n_text_state
|
|
assert_equal 8, model.n_text_head
|
|
assert_equal 6, model.n_text_layer
|
|
assert_equal 80, model.n_mels
|
|
assert_equal 1, model.ftype
|
|
assert_equal "base", model.type
|
|
end
|
|
|
|
def test_uri
|
|
path = URI("https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin")
|
|
whisper = Whisper::Context.new(path)
|
|
model = whisper.model
|
|
|
|
assert_equal 51864, model.n_vocab
|
|
assert_equal 1500, model.n_audio_ctx
|
|
assert_equal 512, model.n_audio_state
|
|
assert_equal 8, model.n_audio_head
|
|
assert_equal 6, model.n_audio_layer
|
|
assert_equal 448, model.n_text_ctx
|
|
assert_equal 512, model.n_text_state
|
|
assert_equal 8, model.n_text_head
|
|
assert_equal 6, model.n_text_layer
|
|
assert_equal 80, model.n_mels
|
|
assert_equal 1, model.ftype
|
|
assert_equal "base", model.type
|
|
end
|
|
|
|
def test_coreml_model_auto_download
|
|
uri = Whisper::Model.coreml_compiled_models[Whisper::Model.pre_converted_models["tiny"]]
|
|
model_path = Pathname(uri.to_path).sub_ext("")
|
|
model_path.rmtree if model_path.exist?
|
|
|
|
uri.cache
|
|
assert_path_exist model_path
|
|
end
|
|
end
|