Unified and efficient Machine Learning since 1999.
Latest release:
Cite Shogun:
Develop branch build status:
Donate to Shogun via NumFocus:
Buildbot: http://buildbot.shogun-toolbox.org/waterfall.
-
See doc/readme/ABOUT.md for a project description.
-
See doc/readme/INSTALL.md for installation instructions.
-
See doc/readme/INTERFACES.md for calling Shogun from its interfaces.
-
See doc/readme/EXAMPLES.md for details on creating API examples.
-
See doc/readme/DEVELOPING.md for how to hack Shogun.
-
See API examples for API examples for all interfaces.
-
See the wiki for extended developer information.
Shogun is implemented in C++ and offers automatically generated, unified interfaces to Python, Octave, Java / Scala, Ruby, C#, R, Lua. We are currently working on adding more languages including JavaScript, D, and Matlab.
Interface | Status |
---|---|
python | mature (no known problems) |
octave | mature (no known problems) |
java/scala | stable (no known problems) |
ruby | stable (no known problems) |
csharp | stable (no known problems) |
r | beta (most examples work, static calls unavailable) |
lua | alpha (many examples work, string typemaps are unstable, overloaded methods unavailable) |
perl | pre-alpha (work in progress quality) |
js | pre-alpha (work in progress quality) |
See our website for examples in all languages.
Shogun is supported under GNU/Linux, MacOSX, FreeBSD, and Windows. See our buildfarm.
The following directories are found in the source distribution.
Note that some folders are submodules that can be checked out with
git submodule update --init
.
- src - source code, separated into C++ source and interfaces
- doc - readmes (doc/reamde, submodule), ipython notebooks, cookbook (api examples), licenses
- examples - example files for all interfaces
- data - data sets (submodule, required for examples)
- tests - unit tests and continuous integration of interface examples
- applications - applications of SHOGUN (outdated)
- benchmarks - speed benchmarks
- cmake - cmake build scripts
Shogun is distributed under BSD 3-clause license, with optional GPL3 components. See doc/licenses for details.