NuPIC models can be serialized to disk. Many people do this to save their models in case of failure, to stop and restart them for performance reasons, or to save them for later times.
Breaking backwards compatibility of this serialization technique means that any current models saved using the old method could not be resurrected in any version of NuPIC after the backwards compatible change was made. [1]
The ability to break serialization backwards compatibility would untie our hands in many ways. We could rethink how code is organized, named, and structured. We could remove legacy terminology, making it easier for new contributors to understand. We could clarify our interfaces, allowing us to get to a NuPIC 1.0 version much sooner. It would speed up our build pipelines because we’d no longer need to run backwards compatibility tests around serialization.
But what happens if we break NuPIC serialization backwards compatibility?
Any NuPIC models serialized from current production applications would not be able to load in newer versions of NuPIC, preventing these applications from upgrading to newer versions of NuPIC without losing the state of all their models.
How disruptive would this actually be?
Remember that affected applications would not need actual code changes, because the code API hasn’t changed (that is a different situation entirely). It just means that their models will lose all memory of the data they have seen and start from scratch.
So, is this a big deal to anyone? Remember that NuPIC is still pre-1.0, so I will not feel very guilty about pulling this trigger. But I do want to gauge how much this would affect all of you who might have some NuPIC models running today.
- I am not affected because I have no NuPIC models running that I care about
- I am affected, but am ok losing my model history when I upgrade NuPIC
- I am affected, but I just won’t upgrade to a later version of NuPIC
- I am affected, and this situation is unacceptable and I’m going to raise hell about it
0 voters
Or instead of taking the poll you can just respond below. (Or both.)
[1] It is possible to create a model migration program that reads in models in the old format and saves them in the new format, but we don’t have any plans of working on this right away.