Code Monkey home page Code Monkey logo

mrfy's People

Contributors

burntsushi avatar ndaniels avatar nrnrnr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

dataronio

mrfy's Issues

New type for amino acids

Our paper claims that amino acid is represented using a newtype declaration. Phrase make it so.

Show instances for HMM nodes

Show instances for transition and emission probabilities should ease debugging by not showing transitions and emissions that are present with zero probability. The right filter should do it...

Confirm there is no slowdown

Confirm that commit 049883f is at worst no slower than 2f9bd4f on any machine or benchmark we know about.

(The first is "new HO Viterbi with strict scoring and preceders as a function".)

(The second is the ICFP version on the master branch.)

Add valgrind support to mrfy-bench

I'd like to have a meaningful viterbi benchmark that's short enough to use valgrind's profiler. That will give us some information about instruction counts and instruction mix. And the numbers should be comparable across platforms.

Diagnose 15% slowdown on ViterbiThree.hs

The first thing to do is probably to revert to the identical array type used for the original Viterbi.hs. Just to eliminate a possibly gratuitous source of variation.

bug in first consistent hoViterbi

[andrew@Liger nr-jfp-refactor] ./mrfy -test fight-path
*** Failed! Falsifiable (after 2 tests and 97 shrinks):    
fromList [
(#0: no-transitions; no-M-emissions; no-I-emissions),
(#1: D-1.00->M; no-M-emissions; no-I-emissions)]
fromList [AA 18]
OPATH: [Mat]
NPATH: [Del]

Notes:

me: it seems like a pretty subtle bug: when there are two nodes and a single observation, then the Oracle claims the state path should just be a
Mat
even if the
d->m
transition is most likely...
Sent at 7:41 PM on Sunday
Norman: I think Oracle is right here.
I think there is only one nonzero path.
Maybe I will try another diagram tonight.

Get regression tests working

Make sure that 'old viterbi' produces expected results on outside data, and get some kind of script or mk target or README instructions for running those tests.

Arbitrary instances for HMM

For testing purposes, I see no reason not to have 0-node and 1-node HMMs. Unless the old Viterbi can't handle it, they should be fine.

Also, the instance for HMMNode needs a shrink function.

cleaner working HO viterbi

Take the commit tagged first-consistent-ho-viterbi from the nr-jfp branch and see if you can get the compiler to specialize the internal [ edge ... ] computation by abstracting over the preceders and emission functions and telling the compiler to inline. Right now there are four calls to internal; it would be fantastic if each could be replaced by a call to a single function that is pragma'd to be inlined, without losing peformance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.