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 generally licensed under the GPL3, with code borrowed from various external libraries, and optional parts that are neither compatible with GPL nor BSD. It is possible to compile a BSD3 compatible build of Shogun.
See doc/licenses for details.