- Converted backend from C to C++
- Added more comments in code and improved readability
- Updated C++/Python wrapper, Python scripts, tests, and examples based on backend updates
- Converted block input/outputs from Page to BlockInput and BlockOutput
- BlockOutput stores a history of BitArrays
- BlockInput connects to one or more BlockOutput(s) and concatenates them into a single BitArray
- SequenceLearner can be configured to learn num_t steps into history
- default is num_t=2, one step's previous activity used for context
- num_t=1 means no context
- num_t=3 means two steps previous activity for context
- FIXME: Make this more intuitive
- Added content to BitArray and optimized existing functions
- Converted CoincidenceDetector to BlockMemory and optimized functionality and readability
- Created a Block base class to standardize functionality across all blocks
- Changed compute() block function to feedforward()
- feedforward() consists of step(), pull(), encode(), and learn() functions
- feedback() consists of decode() and push() functions
- Blocks given a unique ID
- Added blocks/ directory to store specific block implementations
- Added block template.hpp/cpp code to aid in creating new block implementations
- Converted existing blocks put into new code structure
- SequenceLearner and PatternPooler don't update if input changes, but can be forced with always_update flag
- moved experiments/ python scripts directory to examples/
- Changed naming convention of "Encoder" to "Transformer" for converting data to binary patterns
- renamed LabelEncoder to DiscreteTransformer and takes integers as inputs
- use something like sklearn's LabelEncoder to convert symbols to integers
- renamed ScalarEncoder to ScalarTransformer
- scalar data uses ScalarTransformer and discrete data uses DiscreteTransformer
- Reset functionality for each block with clear() member function
- Multivariate anomaly detection time-series example updated with new code and Hypergrid Transformer
- added sequence learning, scalability, image classification, and time series experiments
- added early synthetic data generator experiment for time series