• This repository has been archived on 01/Sep/2023
  • Stars
    star
    224
  • Rank 171,882 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    GNU Affero Genera...
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Experimental algorithms. Unsupported.

Introduction

This repository contains the code for experimental algorithm work done internally at Numenta. A description of that research is available here.

Open Research

We have released all our commercial HTM algorithm code to the open source community within NuPIC. The NuPIC open source community continues to maintain and improve that regularly (see https://discourse.numenta.org for discussions on that codebase. Internally we continue to evolve our theory towards a full blown cortical framework.

We get a lot of questions about it and we wondered whether it is possible to be even more open about that work. Could we release our day to day research code in a public repository? Would people get confused? Would it slow us down?

We decided to go ahead and create htmresearch. It contains experimental algorithm code done internally at Numenta. The code includes prototypes and experiments with different algorithm implementations. It sits on top of NuPIC and requires you have NuPIC installed.

Our research ideas are constantly in flux as we tweak and experiment. This is all temporary, ever-changing experimental code, which poses some challenges. Hence the following DISCLAIMERS:

What you should understand about this repository

  • the code can change quickly and without warning as experiments are discarded and recreated
  • code will not be production-quality, buggy, or well documented
  • if we do work with external partners, that work will probably NOT be here
  • we might decide at some point to not do our research in the open anymore and instead delete the whole repository

We want to be as transparent as possible, but we also want to move fast with these experiments so the finalized algorithms can be included into NuPIC as soon as they are ready. We really hope this repository is helpful and does not instead create a lot of confusion about what's coming next.

Installation

OK, enough caveats. Here are some installation instructions though mostly you are on your own. (Wait, was that another caveat?)

Released Version

pip install nupic htmresearch

Developer

Requirements:

  • nupic and nupic.core
    • pip install nupic --user should be sufficient
  • htmresearch-core
  • Various individual projects may have other requirements. We don't formally spell these out but two common ones are pandas and plotly.

Install using setup.py like any python project. Since the contents here change often, we highly recommend installing as follows:

python setup.py develop --user

After this you can test by importing from htmresearch:

python
from htmresearch.algorithms.apical_tiebreak_temporal_memory import ApicalTiebreakPairMemory

If this works installation probably worked fine. BTW, the above class is a modified version of TemporalMemory that we are currently researching. It includes support for feedback connections (through apical dendrites) and external distal basal connections.

You can perform a more thorough test by running the test script from the repository root:

%> ./run_tests.sh 
Troubleshooting pytorch Installation on Mac OSX

If you encounter this error after installing pytorch on Mac OSX:

ImportError: dlopen(~/Library/Python/2.7/lib/python/site-packages/torch/_C.so, 9): Library not loaded: @rpath/libc++.1.dylib
    Referenced from: ~/Library/Python/2.7/lib/python/site-packages/torch/_C.so
    Reason: image not found

Use the following command to fix your pytorch installation:

 install_name_tool -change  @rpath/libc++.1.dylib /usr/lib/libc++.1.dylib  ~/Library/Python/2.7/lib/python/site-packages/torch/_C.so

Archive

Some of our old research code and experiments are archived in the following repository:

More Repositories

1

nupic-legacy

Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
Python
6,329
star
2

NAB

The Numenta Anomaly Benchmark
Jupyter Notebook
1,891
star
3

htmpapers

Numenta published papers code and data
Jupyter Notebook
312
star
4

htm.java

Hierarchical Temporal Memory implementation in Java - an official Community-Driven Java port of the Numenta Platform for Intelligent Computing (NuPIC).
Java
309
star
5

nupic.core-legacy

Implementation of core NuPIC algorithms in C++ (under construction)
C++
272
star
6

nupic.torch

Numenta Platform for Intelligent Computing PyTorch libraries
Python
236
star
7

nupic.research

Experimental algorithms. Unsupported.
Jupyter Notebook
95
star
8

htmresearch-core

Numenta's experimental C++ research code. Please see htmresearch for more details.
C++
25
star
9

nupic.tensorflow

Numenta Platform for Intelligent Computing Tensorflow libraries
Python
19
star
10

hypersearch

A particle swarm optimization library created by Numenta for hyperparameter optimization.
Python
18
star
11

nupic.workshop

NuPIC HTM Workshop Instructional Resources
Jupyter Notebook
8
star
12

agamotto

Agamotto is a helper module to make it easier to test a running system with Python.
Python
7
star
13

cortipy

Cortical.io REST API client in Python
Python
7
star
14

pycept

Cept API client in python
Python
7
star
15

oncall-board

Numenta On-Call engineer board
JavaScript
5
star
16

nupic.embodied

Jupyter Notebook
5
star
17

nupic.research.core

C++
4
star
18

htmresearch-old

Old code archived from https://github.com/numenta/htmresearch repository
HTML
1
star
19

gridcodingrange

Measure the coding range of idealized grid cell populations
Jupyter Notebook
1
star