Forum Home | User Profile | Register | Members | Groups | Search | FAQ | Back to:OnIntelligence.org
onintelligence.org Forum Index -> Models and Simulation Topics -> HTM programming language(s)?
Goto page 1, 2, 3, 4  Next
 
This topic is locked: you cannot edit posts or make replies.   This forum is locked: you cannot post, reply to, or edit topics. View previous topic :: View next topic  


Author Message
FreeSynapse


Joined: 11 Jun 2006
Posts: 39

06-13-06, 12:40 am
PostPost subject: HTM programming language(s)? Reply with quote

I don't know if this has been discussed before or not, but under which programming language(s) will HTM-based systems be programmable and/or hackable? I don't know if limiting it to C++ alone would be a very good idea.
Back to top
View user's profile Send private message

Author Message
FreeSynapse


Joined: 11 Jun 2006
Posts: 39

06-13-06, 06:04 pm
PostPost subject: Reply with quote

One important point to note is that generally speaking, the superset of AI programmers has enough work dealing with figuring out AI, statistics, etc. that they usually may not be experts in C++. Due to this, other languages such as MATLAB, Python, etc. gain popularity with them. I do understand however that the HTM core probably does need to be coded in C++.
Back to top
View user's profile Send private message

Author Message
heckj


Joined: 06 Jun 2006
Posts: 4

06-13-06, 08:53 pm
PostPost subject: python? Reply with quote

Hasn't Numenta stated that they're making headway in coding their HTM's in python to enable both rapid development and a core that can be written in a speedy language (C++) where needed?
Back to top
View user's profile Send private message

Author Message
FreeSynapse


Joined: 11 Jun 2006
Posts: 39

06-13-06, 09:08 pm
PostPost subject: Re: python? Reply with quote

heckj wrote:
Hasn't Numenta stated that they're making headway in coding their HTM's in python to enable both rapid development and a core that can be written in a speedy language (C++) where needed?

Yes, so from the HTM-based system's designer's perspective, just what will it be? Python or C++ (for development and for hacking)?
Back to top
View user's profile Send private message

Author Message
heckj


Joined: 06 Jun 2006
Posts: 4

06-14-06, 11:30 am
PostPost subject: Reply with quote

I'd guess python primarily, but the most recent available code that I've seen was all in MATLAB... pending development I guess.
Back to top
View user's profile Send private message

Author Message
FreeSynapse


Joined: 11 Jun 2006
Posts: 39

06-16-06, 03:38 pm
PostPost subject: Reply with quote

Why is an official response so hard to get? I was under the impression that this forum was monitored by Numenta.
Back to top
View user's profile Send private message

Author Message
Numenta-Phil


Joined: 28 Feb 2006
Posts: 62
Location: Menlo Park

06-20-06, 09:08 am
PostPost subject: HTM Developmetn Language? Reply with quote

In order to do all of the early research that we've done with our HTM theories, we used MatLab, as it has excellent mathematical functionality, and a powerful scripting language, allowing us to more easily experiment with our learning algorithms and such.

As we are moving towards more of a platform, MatLab isn't being used as much, as we want our technology to be available to everyone, and the price of MatLab eliminates a large percentage of our audience (there are other technical reasons, of course, but this was one of the largest stumbling blocks).

As we develop this platform, we want our core engineers to use the same technologies that our customers will use, and thus all of our algorithms are being ported to Python, as stated in our latest newsletter:
http://www.numenta.com/newsletter/index.php?module=newsView&id=1

Python enables us to easily make quick changes to our learning algorithms and experiment, without having to do a build process in between. However, once these algorithms are nailed down and polished, we absolutely expect to put the core algorithms in C++ which should be significantly faster.

Once we release this product, developers will be able to use our existing algorithms, or implement their own in C++ or Python, just like we do.

I hope this answers the question.
_________________
Phillip B. Shoemaker
Director, Developer Services
Numenta, Inc.
Back to top
View user's profile Send private message Visit poster's website

Author Message
FreeSynapse


Joined: 11 Jun 2006
Posts: 39

07-31-06, 08:09 pm
PostPost subject: Psyco Reply with quote

Phil,

It may be worthwhile to try using Psyco, which is a Python extension module that can massively speed up the execution of Python code. I don't pretend to know Psyco, much less understand how it works, but it may worth a try, both with full binding, and alternatively with selective functions binding. The link to Psyco is:

http://psyco.sourceforge.net/

Note that as I understand it runs only on Intel based machines. Nonetheless, it may still be worth experimenting with, at least to see how far Python can be pushed here.
Back to top
View user's profile Send private message

Author Message
heckj


Joined: 06 Jun 2006
Posts: 4

07-31-06, 08:20 pm
PostPost subject: Speeding up python code Reply with quote

I just returned from the OReilly Open Source convention where I saw Pysco in action (very impressive!), but the piece that really made my jaw drop was the use of pyrex. Details on pyrex can be found at http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/ and a couple of pretty good overview articles at http://www-128.ibm.com/developerworks/linux/library/l-cppyrex.html and http://ldots.org/pyrex-guide/

You can basically write the pyrex python straight up and take no significant impact, but if you're willing to restrict the methods down to some specific signatures, then Pyrex does the work of generating x86 machine code and you can see some really amazing speed increases.
Back to top
View user's profile Send private message

Author Message
Numenta-Phil


Joined: 28 Feb 2006
Posts: 62
Location: Menlo Park

07-31-06, 08:52 pm
PostPost subject: Psyco Reply with quote

Thanks for the headsup. I'll definitely get the information to the team and we'll have a look at it.

Thanks again! Keep the tips coming.
_________________
Phillip B. Shoemaker
Director, Developer Services
Numenta, Inc.
Back to top
View user's profile Send private message Visit poster's website

Author Message
FreeSynapse


Joined: 11 Jun 2006
Posts: 39

07-31-06, 09:22 pm
PostPost subject: x64 request Reply with quote

By the way, it would be nice to see native x64 compatibility also, if and as possible.
Back to top
View user's profile Send private message

Author Message
lkelemen


Joined: 07 Jun 2006
Posts: 4

08-04-06, 07:36 am
PostPost subject: HTM in java Reply with quote

Hi,

Have you considered to implement a HTM in java or even better
to use an existing freeware java neural net framework like Joone?
See at http://www.jooneworld.com/

br
Lajos
Back to top
View user's profile Send private message

Author Message
andy.goryachev


Joined: 06 Aug 2006
Posts: 10
Location: California, USA

08-06-06, 11:40 pm
PostPost subject: Reply with quote

Hi,

I wish Numenta had chosen Java over C++ and Python. Not only it gives people better chance at playing with HTM API, but also:

- offers faster design cycle (coding + testing + debugging)*Number of iterations
- provides comparable performance with C++ when compiled (GCJ)
- allows for better development tools (Eclipse)

It is unfortunate. We all have to wait six times longer for this revolutionary technology to appear.
Back to top
View user's profile Send private message

Author Message
FreeSynapse


Joined: 11 Jun 2006
Posts: 39

08-06-06, 11:49 pm
PostPost subject: Reply with quote

andy.goryachev wrote:
Hi,

I wish Numenta had chosen Java over C++ and Python. Not only it gives people better chance at playing with HTM API, but also:

- offers faster design cycle (coding + testing + debugging)*Number of iterations
- provides comparable performance with C++ when compiled (GCJ)
- allows for better development tools (Eclipse)

It is unfortunate. We all have to wait six times longer for this revolutionary technology to appear.

I dispute that. Python is supposed to be a very powerful programming language. Java is more diffficult to program in as well, and requires longer code. If there is any other better that could've been chosen, it probably could've been Ruby.
Back to top
View user's profile Send private message

Author Message
andy.goryachev


Joined: 06 Aug 2006
Posts: 10
Location: California, USA

08-07-06, 12:08 am
PostPost subject: Reply with quote

FreeSynapse wrote:

I dispute that. Python is supposed to be a very powerful programming language. Java is more diffficult to program in as well, and requires longer code. If there is any other better that could've been chosen, it probably could've been Ruby.


Yes, that's precisely my point. The power of language alone and length of code has very little impact on the overall project cost. I don't know how close Numenta is to the final state; in my experience, only simple projects can be finished without a major refactoring. For instance, writing a GUI layer for a cellphone is a straightforward task, it can be done by one engineer in 6 months. Figuring out distributed object database in one take is nearly impossible -- well, I can only speak for myself, and it took 4 complete re-writes. It would have been impossible with anything but Java. I am not talking about the language alone - which is far better than C++ (in my opinion, of course, I don't want to start a religious war here) - but also the runtime platform backed by a major corporation as well as open source community, plus Eclipse - the tool that has no equal.

And what do you mean "Java is more difficult"?? :-)
Back to top
View user's profile Send private message

Display posts from previous:   
This topic is locked: you cannot edit posts or make replies.   This forum is locked: you cannot post, reply to, or edit topics.    Page 1 of 4 All times are GMT - 8 Hours
Goto page 1, 2, 3, 4  Next

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group

Please contact the board administrators if you have any questions regarding the OnIntelligence.org forums.