Header only NuPIC.core wrapper for low level HTM algorithm abstraction
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
HTMHelper
examples
.gitignore
CMakeLists.txt
LICENSE
README.md

README.md

HTMHelper

Header only NuPIC.core wrapper for low level HTM algorithm abstraction

Fratures

  • Python like interface for C++ NuPIC.core users
  • Header only
    • No need to deal with yet another linker issue
  • Easy to use
    • No more dealing with std::vector when it should be a N-D array
    • No more switching between dense/indexed SDR
    • Fimilar patterns for Deep Learning developers

Dependencies

Supported Layers and Encoders

  • Layers
    • SpatialPooler
    • TemporalMemory
    • TemporalPooler (Cells4)
  • Encoders
    • ScalarEncoder
    • CategoryEncoder
      • Including a decocder!
  • Classifers
    • SDRClassifer
  • Other
    • Raw anomoly

Build and install

You don't need ot build! It is header only. Still, CMake build examples and installs header foor you.

mkdir build
cd build
cmake ..
make
sudo make install

NOTE: Building NuPIC.core

NuPIC.core is a bit annoning to build. Here is how

git clone https://github.com/numenta/nupic.core
cd nupic.core
export NUPIC_CORE=`pwd`
cd $NUPIC_CORE/build/scripts
cmake $NUPIC_CORE -DCMAKE_BUILD_TYPE=Release -NUPIC_TOGGLE_INSTALL=ON -DPY_EXTENSIONS_DIR=$NUPIC_CORE/bindings/py/src/nupic/bindings .
make -j4
sudo make install

And since NuPIC has problems installing all the headers. You’ll need to copy them manually.

cd $NUPIC_CORE
sudo cp -r src/nupic /usr/local/include
sudo cp -r build/scripts/src/nupic /usr/local/include

Todo

  • Saving and loading models
  • More encoders
  • More classifers
  • Python binding via cookiecutter and pybind11 (?)