NuPIC Usage FAQ

Can I save and restore models?

Yes. See the Serialization Guide. If you are using the OPF, each model has enableLearning() and disableLearning().

How can I turn on / off learning?

Both SP.compute() and TM.compute() accept a parameter to specify whether learning is enabled.

Are there any CLA visualization tools?

There are the ones from HTM School and of course Sanity and highbrow, but these are all experimental.

Swarming runs for long time and does not complete

TODO: Create Swarming FAQ.

This happens when the iteration count parameter in the swarm description is not set.

  • Look for the swarm_description.py file.
  • Look for the parameter “iterationCount”: -1,
  • Change this to “iterationCount”: 1000,
  • re-run the swarm

How do I extract details about the HTM’s internal cellular state?

I have two classes that show you exactly how I accessed these from NuPIC’s SP and TM instances for HTM School:

How far ahead can a NuPIC model predict?

It can predict as many steps ahead as you like, but keep in mind that the more steps ahead, the less performant the model will become.

How many steps ahead can a model predict at one time?

As many as you like with multi-step predictions. Steps can be specified as an array of integers within model parameters.

Can an anomaly model also return predictions?

Yes, an anomaly model returns predictions. But non-anomaly models cannot return anomalies.

How many input fields can I pass into one model?

Theoretically, as many as you want, but realistically, not many. The performance suffers exponentially with every new field introduced into the mix if they are encoded and processed as potentially affecting the predicted field.

We generally discourage people from using more than a few fields per model.

What are the best model params for scalar anomaly detection?

Answer on HTM Forum.

5 Likes

I hoped to add one here, which is:

What are the minimum hardware requirements to run NuPIC?

I am working to get it running on these smart eye glasses, which monitor the activity of elderly people. It seems that sending the data out to the cloud would put a heavy load on the battery, so on-device analysis would be ideal. For processing the device (fittingly) has a ARM Cortex-A7 quad core processor, and the amount of RAM that can be dedicated on the device is on the order of several hundred MB (say around 300 MB). Each device is meant to monitor just 1 person, so only a couple models (or even 1) would need to be stored and updated.

Does this seem possible? I’m very curious to know and appreciate any insights! Thanks! :smiley:

1 Like