Skip to content

Releases: the-aerospace-corporation/brainblocks

v0.7.1

17 Jul 18:57
Compare
Choose a tag to compare

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

02 Mar 19:05
Compare
Choose a tag to compare

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
  • 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