HTM.java Receives New Persistence API
Greetings Earthlings (and otherwise affiliated),
Today the NuPIC Community gets to announce version release v0.6.6-alpha, and the new Persistence API!
What this means for your applications is that you can now save your HTM networks to the disk either after shutdown or while it is running (check point). The addition of this feature brings your Java HTMs into an entirely new realm where they can have their state totally saved and can now run long-term without losing “knowledge”.
In addition, saved HTMs can electively be restarted either from the beginning of the data stream or right from the point they left off. Of course streams can’t be saved (they aren’t a persistable resource), but that doesn’t stop HTM.java! Your HTM will now recreate the connection to the stream and skip through the data until it reaches the point it left off, unless starting over is something you require; in that case, it can start from the very beginning.
Users that elect to push data directly into an HTM network (either using computeImmediate() or through a Publisher), can of course start wherever they like since those users control what goes into the network.
An added feature is the ability to write your network (or any other HTM.java object), to any stream you desire, and read it from any stream you desire also. Using the lower-level SerializerCore, you can just give it the object (subclass of Persistable), and the IOStream you are reading from or writing to, and that’s it – off you go!
As usual, thanks go out to HTM.java sponsor Cortical.io for support in developing and maintaining HTM.java for the NuPIC Community; and to the Numenta engineering staff (Scott Purdy, Subutai Ahmad, and Matt Taylor) for their ongoing consultation regarding serialization and other architectural issues! Thanks Everybody!
To read more details about the new Persistence API, you can have a look at the Wiki Here.
For questions and help, please join our Gitter Chatroom, or write to the Community mailing list(s) [nupic-hackers].
Get the tagged release (v0.6.6-alpha) here, or update using Gradle or Maven (Maven Central may take up to 24 hours to update)
Cheers, and Happy Hacking!
David