WARNING: 0.7.0 breaking changes

We will be making a number of breaking changes with 0.7, because we are prepping for a 1.0 release this year, and we have code that needs major refactoring, which will affect serialization, API usage, and parameter names.

This is a necessary growing pain NuPIC needs to move forward.

How to upgrade:

Find / replace in your codebase:

  • tpParams ==> tmParams
  • tpEnable ==> tmEnable

How to upgrade:

Find / replace in your codebase:

  • CLAModel ==> HTMPredictionModel
  • clamodel ==> htmpredictionmodel
  • claModel ==> htmPredictionModel

In any model params, change the model from CLA to HTMPrediction, like this:

  • 'model': 'CLA', ==> 'model': 'HTMPrediction',

How to upgrade:

  • See PR linked above for details on the module & file name changes.

How to upgrade:

Find/replace:

  • nupic.research ==> nupic.algorithms

Module name changes;

  • BacktrackingTM ==> backtracking_tm
  • BacktrackingTMCPP ==> backtracking_tm_cpp

How to upgrade:

You probably don’t need to do anything unless you have custom encoder calls the formatBits function on an encoder. In that case, sorry we removed this function from the API.


Python module name changes

The following PRs are refactorings to change python module names to snake_case.


3 Likes

I have made this page a wiki. I will keep it updated to include all breaking changes and how to update your code in order to upgrade.

1 Like

2 posts were split to a new topic: 0.6.0 breaking changes?

You might have runtime problems caused by this code being merged into master if you are running local examples or tests from tip of master against an older version of NuPIC.

If you install nupic from binary (pip install nupic), that means you get the latest stable version of NuPIC, which could be days or weeks old. If you want to run unit tests or examples from the latest source code, it might cause runtime errors. In order to run tests and examples, make sure that you have checked out proper commit SHA in git to sync the tests with the stable version of NuPIC.

For example, if you installed nupic 0.5.7, you should run this command in your git repo before running unit tests:

git fetch upstream

Where upstream is a remote that points to https://github.com/numenta/nupic. This will fetch any tags for releases from the remote.

git checkout tags/0.5.7

This will set your local code to match the release code. Beware this could alter any changes you’ve made to your local filesystem.

Now you can run tests and local examples.

1 Like