Skip to content

Elixir implementation of Microsoft's Hummingbird library for converting trained Decision Tree models into tensor computations.

License

Notifications You must be signed in to change notification settings

acalejos/mockingjay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mockingjay

Documentation

Implementation of Microsoft's Hummingbird library for converting trained Decision Tree models into tensor computations.

How to Use

Implement the DecisionTree protocol for any data source you would like to compile. Then you can use Mockingjay.convert/1 to generate an Nx.Defn prediction function that makes inferences. The output of convert will be a function with the signature fn x -> predict(x). The three strategies are GEMM, TreeTraversal, and PerfectTree traversal. You can specify the strategy using the :strategy option in convert or use a heuristic strategy by default. The heuristic used is generally:

  • GEMM: Shallow Trees (<=3)
  • PerfectTreeTraversal: Tall trees where depth <= 10
  • TreeTraversal: Tall trees unfit for PTT (depth > 10)

Installation

def deps do
  [
    {:mockingjay, "~> 0.1"}
  ]
end

About

Elixir implementation of Microsoft's Hummingbird library for converting trained Decision Tree models into tensor computations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages