Welcome to the Ogma OgmaNeo2 library, C++ library that contains an implementation of Sparse Predictive Hierarchies.
For an introduction to how the algorithm works, see the presentation. For a more in-depth look, check out the whitepaper.
There is a deprecated version of this repository that contains an outdated implementation of SPH. Please use this version of OgmaNeo (OgmaNeo2, this repository) if possible.
Version 3.13+ of CMake is required when building the library.
This version of OgmaNeo uses OpenMP for multiprocessing. It is required in order to build the library. This will typically already be installed on your system.
The following commands can be used to build the OgmaNeo library:
git clone https://github.com/ogmacorp/OgmaNeo2.git
cd OgmaNeo2 mkdir build
cd build
cmake ..
make
make install
The cmake
command can be passed a CMAKE_INSTALL_PREFIX
to determine where to install the library and header files.
The BUILD_SHARED_LIBS
boolean cmake option can be used to create dynamic/shared object library (default is to create a static library). On Linux it's recommended to add -DBUILD_SHARED_LIBS=ON
(especially if you plan to use the Python bindings in PyOgmaNeo2).
make install
can be run to install the library. make uninstall
can be used to uninstall the library.
On Windows systems it is recommended to use cmake-gui
to define which generator to use and specify optional build parameters, such as CMAKE_INSTALL_PREFIX
.
Refer to the CONTRIBUTING.md file for information on making contributions to OgmaNeo2.
The work in this repository is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See the OGMANEO_LICENSE.md and LICENSE.md file for further information.
Contact Ogma via [email protected] to discuss commercial use and licensing options.
OgmaNeo Copyright (c) 2016-2020 Ogma Intelligent Systems Corp. All rights reserved.