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

Support htm.core repo for visualization #16

Open
breznak opened this issue Nov 13, 2019 · 7 comments
Open

Support htm.core repo for visualization #16

breznak opened this issue Nov 13, 2019 · 7 comments

Comments

@breznak
Copy link
Member

breznak commented Nov 13, 2019

Hi Matt,

I wonder what would it take to support htm.core with your famous visualizations?
Currently we got HTMpandaViz tool from @Zbysekz , currenty we sometimes do plots by storing a snapshot of Connections (a common synaptic data-structure for both SP, TM, CP...).

  • one way is for passive replay, we could just store the data for each step
  • for interactive running, we need to insert some code

It would be nice if we could form some semi-stable common format

@rhyolight
Copy link
Contributor

You can see the data I exposed through these keys:

class SpSnapshots(Snapshots):
  INPUT = "input"
  POT_POOLS = "potentialPools"
  CON_SYN = "connectedSynapses"
  PERMS = "permanences"
  ACT_COL = "activeColumns"
  OVERLAPS = "overlaps"
  ACT_DC = "activeDutyCycles"
  OVP_DC = "overlapDutyCycles"
  INH_MASKS = "inhibitionMasks"
  BST_FCTRS = "boostFactors"

class TmSnapshots(Snapshots):
  ACT_CELLS = "activeCells"
  PRD_CELLS = "predictiveCells"
  ACT_SEGS = "activeSegments"
  MCH_SEGS = "matchingSegments"

Each key exposes a simple data structure.

@rhyolight
Copy link
Contributor

To support another HTM implementation, one would need to create new facade classes for them like sp_facade.py and tm_facade.py.

@breznak
Copy link
Member Author

breznak commented Nov 27, 2019

Thanks Matt!
@Zbysekz what do you think of this format, can it be somehow used by your tool?

  • Ideally we could agree on some format that would be shared by all visualization tools by one side, and by all HTM implementations on another
  • otherwise, we could just add the facade classes to HTM.core to support this repo.

@Zbysekz
Copy link

Zbysekz commented May 22, 2020

I am on the border with decision to throw away the interface that i made for pandaVis and use this or at least similar attitude... run simulation and fill data into database, then vis can replay it and do whatever with it.
I got into problems as we @breznak discussed in htm-community/NAB#36
Besides other very nice things it would be faster.

@breznak
Copy link
Member Author

breznak commented May 23, 2020

run simulation and fill data into database, then vis can replay it and do whatever with it.

Only you'd be missing the "interactively click/activate a cell and see what happens" feature. I don't know how cool,needed that is?

Otherwise, the replay from a database would be by far the easiest way, imho

@Zbysekz
Copy link

Zbysekz commented May 25, 2020

@breznak you misunderstand that feature or i explained that not clearly...
If you click on cell, you just get focused on to that cell and the server is requested to send connections data. You do not activate that cell manually.. vis is just observer. This data per request are just because of lowering data traffic.

But with the database... that could be another level.

@breznak
Copy link
Member Author

breznak commented May 27, 2020

You do not activate that cell manually.. vis is just observer.

oh, I see. so the 'click' is just narrowing-down the visualization. I guess I recalled from Matt's videos where you clicked to activate cells.
So if such functionality has never been supported, I see no problem.

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

3 participants