Releases: the-aerospace-corporation/brainblocks
Releases · the-aerospace-corporation/brainblocks
v0.7.1
Release 0.7.1 Updates
- Made brainblocks installable via
pip install brainblocks
- Added better and more comprehensive example scripts
- Updated build system for modern python
- Updated README with updated install and build instructions
- Removed pybind11 from repo and made it a python package dependency instead
- Fixed
PersistenceTransformer
error - Created github workflow to build and test across platforms
- Built and tested across windows, macos, and linux for python 3.6-3.10
Fixed issues
- #8 #16 - fixed load/save errors with blocks
- #18 - added seed option for all blocks
- #14 #15 - added better examples
- #12 - developed and publish pip package to pypi
Updates by @ddigiorg and @jacobeverist
Thanks to @HMaker, @klokare, @rphilip-sonasoft, @msethi-sonasoft, @Thanh-Binh, @AlexSteveChungAlvarez, @marty1885, and @vaibhavch for issue reports.
v0.7.0
Release 0.7.0 updates
- 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
- renamed LabelEncoder to DiscreteTransformer and takes integers as inputs
- 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