-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speed up viterbi #93
Speed up viterbi #93
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #93 +/- ##
==========================================
+ Coverage 92.87% 93.40% +0.52%
==========================================
Files 18 18
Lines 449 500 +51
==========================================
+ Hits 417 467 +50
- Misses 32 33 +1 ☔ View full report in Codecov by Sentry. |
Benchmark resultJudge resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
Benchmark resultJudge resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
Benchmark resultJudge resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/HiddenMarkovModels.jl/HiddenMarkovModels.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
|
This PR improves
viterbi
by precomputing log-probabilities and abstracting away the max-plus matrix-vector productVersion
Breaking
stuff(hmm, control)
onstuff(hmm)
whenisnothing(control)
(much safer)transition_matrix
andobs_distributions
to accept acontrol
argument whencontrol_seq
is not trivialNon-breaking
log_initialization
andlog_transition_matrix
methods with fallbacks toAbstractHMM
loginit
andlogtrans
fields toHMM
viterbi
intoargmaxplus_transmul!
argmaxplus_transmul!
for sparse matrices (huge performance boost)joint_logdensityof
correctly