Repo for merging various Encoders



Hey all,

for the community repo we’re in the need for more c++ encoders.

I was thinking about that and I’d like to stratch that project and create a shared base of encoders + HTM system. A universal environment for running HTM systems and experiments.

First of all, I’ll be developing, merging and looking for help, ideas of specialized encoders (various modalities- vision, hearing, touch, language, chess positions, numbers, …) So if you have a specialized HTM project, please do hit me up and we can join efforts.

Second, for the basic/common encoders, such as expressing cathegories, integeres, real numbers, …even images, video -> there exists tons of encoders for other ML frameworks (DNN).
Is there a common (c++, open-source, active) collection of such encoders? So we could just reuse them. As encoder “just” provides a binary vector from the world, rest is up to HTM.


Cool idea!
What are the requirements for a encoder to be accepted? Are very experimental encoders good (ex: GridCell, Bitking’s Hex grid, vision encoder). Are handy but trivial to implement encoders allowed (Ex: Frequency encoder (FFT + scalar encoder))


I experimented with encoding vision and here is what I came up with:

  • Use openCV’s retina algorithms. It’s well researched and it works well.

  • I came up with a good method of encoding the resulting image into an SDR. I describe it here: Encoding vision for HTM. I think that this encoder could also work for audio data, but I haven’t tested audio.