Bringing NuPIC to Java is an important milestone in NuPIC technology due to the
size and significance of Java’s user base. Because Java is the world’s most used
programming language, HTM now has the advantage of being exposed to an
extraordinary amount of new developers and users.
htm.java is easy to setup and
configure, and because the JVM is such a common runtime, that means instant
availability on platforms like Windows and all Linux flavors without the use of
a virtual machine (not to mention mobile devices!)
The community is fully committed to adding all the support tools and
infrastructure the Python version enjoys, and those are the next milestones to
be worked on. There is already a
example created by a community member. Here is the constructor:
And here is the usage:
Running this example code prints out the resulting SDRs to the console like this:
This is an outstanding milestone for Numenta, NuPIC and the NuPIC community
because of all the advantages the Java language brings with it. It shows that
the NuPIC community contains a full and vibrant user base that is very committed
to the success of NuPIC and HTM technologies. The development of the Java
version by the NuPIC community also validates the choice of making NuPIC open
source, showing that its community desires a fully compliant version of NuPIC
that is easy to manage, install and widely applicable.
Want to get involved?
Are you a Java programmer interested in neocortically-inspired machine
intelligence? Check out the
htm.java road map
and find out where we need help. Create some sample applications and get your
feet wet with HTM on the JVM.
On a personal note, I’d like to give a big thank you to David Ray. He came to us
earlier this year with a plan for this Java port and the full intention of
giving the codebase over to Numenta for management. Over the past several
months, he has worked tirelessly reading the NuPIC codebase and painstakingly
creating Java versions of all our algorithms. Congratulations to David for
reaching this milestone and creating a complete port of NuPIC.
Open Source Community Flag-Bearer