Hi,

Welcome!

Thanks for your suggestions as I have not really taken time to do an
optimization pass over some of htm.java's code. I was intending to circle
back around to doing micro-optimizations (as you can see in the roadmap) at
a later date because I needed to get a "feel" for how everything would flow
together, especially given that NuPIC may still undergo major changes
resulting from  Numenta's  latest research initiatives.

If you would like to submit a PR with some of your changes, I would
encourage you to group them according to specific areas or themes which
would make it easier to assess the changes and possibly integrate your
work. The current architecture is a work in progress, so if you would like
to discuss certain areas where you have ideas, that would be welcome.

There already exists an issue to address the most favorable representation
of vectors to use within htm.java here:
https://github.com/numenta/htm.java/issues/116 There have been a few
articles written which compare the use of the Java Bitset with the use of
integers, some of which are discussed by myself and other developers -
there in that issue. Feel free to comment there, or discuss some of the
ideas you are developing in that issue.

I have reviewed your changes, and while I can't say I agree with all of
them, there are some useful changes for things I haven't gotten back around
to, and I would encourage you to keep on with it if you feel you would like
to - htm.java can only profit from increased interest and communication.

Regards,
David



On Fri, Dec 5, 2014 at 1:52 PM, SeH <[email protected]> wrote:

> here is a recent attempt at refactoring and optimizing the htm.java code:
>
> https://github.com/automenta/htm.java
>
>    - this fork functions nearly the same (~3 out of 150 unit tests are
>    broke)
>    - seems to be significantly faster, having changed some data
>    structures and removed some redundancy.  there is also a bitset
>    implementation of some of the matrix code which not only should save memory
>    but save time by requiring fewer iterations (uncomfirmed)
>    - working with the api in this feels a bit better than the official
>    htm.java, having renamed a number of classes and methods.  these sorts of
>    renaming could be taken even further.
>    - there's a significantly modified parameter API, that could be even
>    better with some more work.
>    - begun some integration with Apache Commons Math 3.3 library, which
>    can provide sparse matrix, vector support, among many other things.  basing
>    some of the classes in Commons Math, such as Univariate functions for
>    scalar functions, would expand the available variety of configurations.
>
> i'm not sure if or when i'll continue on it but feel free to merge some or
> all of the changes.  unfortunately it may be somewhat infeasible to do a
> line-by-line comparison between the official branch and this because too
> many lines have changed so quickly and drastically.
>
> i wanted to compare better the other HTM/CLA java implementations for
> ideas.  there are several and i'm sure they are full of good ideas not just
> in the API design but the GUIs.  an OpenCL GPU implementation may be
> possible.  the continuous GPU version here
> https://github.com/222464/ContinuousHTMGPU seems particularly interesting
>
> i am thinking of more ideas for GUI and parameter search methods other
> than PSO.  these apply to different projects, not just nupic, but could
> provide a way to connect them in experiments at the GUI level.  it might be
> interesting to use a JavaBean encoder to input JMX-like metrics from a
> running system, even another running HTM.
>
>
>
> On Thu, Dec 4, 2014 at 8:13 AM, Julian Ricardo <[email protected]
> > wrote:
>
>> Great news, thanks!
>> Scala + AKA / Spark + HDFS  should be next!
>>
>> On Wed, Dec 3, 2014 at 10:19 PM, Matthew Taylor <[email protected]> wrote:
>>
>>> Hello NuPIC,
>>>
>>> David Ray and a handful of contributors have been working on htm.java
>>> over the past several months, and it is finally "feature complete"!
>>>
>>> http://numenta.org/blog/2014/12/03/htm-on-the-jvm.html
>>>
>>> Exciting news! Do you know any java developers who'd like to try
>>> NuPIC? Tell them about https://github.com/numenta/htm.java!
>>>
>>> ---------
>>> Matt Taylor
>>> OS Community Flag-Bearer
>>> Numenta
>>>
>>>
>>
>


-- 
*We find it hard to hear what another is saying because of how loudly "who
one is", speaks...*

Reply via email to