/Swarm

Implementation of BSN (Bandit Swarm Networks)

Primary LanguageC++OtherNOASSERTION

Swarm

A recurrent convolutional neural network trained with multi-armed bandit swarm intelligence (BSN, bandit swarm networks, as described here).

Python bindings (recommended) available here

Installation

CMake

Version 3.1+ of CMake is required when building the library.

Building

cd Swarm
mkdir build
cd build
cmake ..
make
make install

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

Multithreading can be disabled by setting the DISABLE_THREADING boolean cmake option to On. For small tasks this may be faster than with it enabled.

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.

License

MIT license. See LICENSE.md for more information.

This library depends on the CTPL library for thread pooling. See the repository or its source for license details with regards to that library.