Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wishlist #12

Open
5 tasks
breznak opened this issue Jan 19, 2018 · 8 comments
Open
5 tasks

Wishlist #12

breznak opened this issue Jan 19, 2018 · 8 comments

Comments

@breznak
Copy link
Member

breznak commented Jan 19, 2018

Unordered, confusing, just ideas-drop list.

  • top down compute (so we can get input for given SDR, without Classifier)
  • Performance optimizations Optimization for performance #3
  • Re-Organize repo structure into more isolated, modular APIs
  • move to Python 3
  • idealize goals, directions of this fork, publish
@mattheiler
Copy link

I would add a wiki with some or all of:

  • Road Map
  • Developer Notes / Style Guide
  • Design Documentation (Google Docs?)
  • Known Issues

I also wouldn't mind using a code beautifier and linter and explaining expectations in the developer notes.

@breznak
Copy link
Member Author

breznak commented Jan 24, 2018

+1 for the wiki, It's enabled here and should be editable.
I guess we could start by stealing the Style guides, Design doc etc from numenta's? :)

@mattheiler
Copy link

Looks like the style guide link is broken. Not sure where it is.

@mattheiler
Copy link

I added a few pages... to be filled in later.

@dkeeney
Copy link

dkeeney commented Sep 18, 2018

For the "SDR" data type I would like to consider a bit array (Int64[32]) for 2048 bits. Wrapper this in a class to add bit get/set and AND/ OR and other operations on the entire array. Taking advantage of the 64 bit word to do some things in parallel. Counting overlap bits could benefit from this. I have not flushed out my ideas entirely but it would be interesting to build a prototype and benchmark it against a sparse array or even an Int32[2048] or Byte[2048] array

@breznak
Copy link
Member Author

breznak commented Sep 19, 2018

the "SDR" data type I would like to consider a bit array (Int64[32]) for 2048 bits. Wrapper this in a class to add bit get/set and AND/ OR and other operations on the entire array. Taking advantage of the 64 bit word to do some things in parallel. Counting overlap bits could benefit from this

Definitely good idea for trying! The SDR datatype should be exactly for this - allowing to quickly experiment with different data-structure for the entire NuPIC/SDR.

There is a library for "compressed bit representation", which I think would fit your use-case. bitset?
http://www.cplusplus.com/reference/bitset/bitset/

It would be good for memory footprint, alternatives are sparse vectors.
For speed I wonder if the CPUs are optimized for float operations better.
All in all, we must try and bench! :)

@ctrl-z-9000-times
Copy link
Collaborator

ctrl-z-9000-times commented Nov 9, 2018

I'd like for the temporal memory to accept predictive inputs (onto distal basal dendrites) from an external source. Right now there is an example of this in numenta/htmresearch. This feature is needed to reproduce some of Numenta's papers.

This feature request now has its own issue: #88 (comment)

@breznak
Copy link
Member Author

breznak commented Nov 9, 2018

I'd like for the temporal memory to accept predictive inputs (onto distal basal dendrites) from an external source

I think this is quite easily doable. Would you like to work on that? Anyway, could you please open an issue for this with link to the PY implementation?
Is it for the ColumnPooler experiments?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants