Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Felow monks,

I need to setup a Neural Network (NN) that works with Perl, so I can be able to control the NN from my Perl programs.

I have tested some NN modules from CPAN, specially AI::NNFlex. But I want some advices from the monks before go dip in the development of the NN. So, what experiences you monks had with NN & Perl?

Thanks in advance.

Replies are listed 'Best First'.
Re: NNP - Neural Networks with Perl
by gellyfish (Monsignor) on Jan 11, 2005 at 11:50 UTC
Re: NNP - Neural Networks with Perl
by dann (Beadle) on Jan 11, 2005 at 17:28 UTC

    Depending on what type of neural network you need to run, you may be interested in a system I wrote last year for uni that handles basic NNs. There's not much in the way of an installer, and it's very alpha code, but it's something you can look at and see how others have done it in perl.

    I put that code and documentation on that site just a few moments ago in response to this post. Please /msg me if you notice any glaring errors or have anything to contribute.

Re: NNP - Neural Networks with Perl
by Anonymous Monk on Jan 11, 2005 at 15:03 UTC
    "so I can be able to control the NN from my Perl programs."

    While doing things in one language is preferred, if you have something else there is nothing saying you can't have some sort of IPC interface...

Re: NNP - Neural Networks with Perl
by elwarren (Priest) on Jan 11, 2005 at 19:19 UTC
    I hate to speak for someone else, but erix has a bunch of AI links on his homenode that will help you find good discussions of these here on perlmonks.

    HTH
Re: NNP - Neural Networks with Perl
by Anonymous Monk on Jan 12, 2005 at 10:16 UTC
    Hi,

    That was quick, I only uploaded NNFlex a few days ago! To answer your question, it was written because I couldn't get the other NN backprop perl modules to work, so thats my experience with NN in perl. It isn't especially quick yet though, if you have a requirement for fast learning, you might be better with one of the interface modules like AI-jneural, although obviously I'd love people to use NNFlex and provide feedback!

    Alternatively, if you're running unix, with a bit of hacking around you can control xerion with a pair of FIFO's and open them in perl as filehandles. Xerion is available from http://www.cs.toronto.edu/~xerion/ - if you want help with that or with NNFlex, post a message for me on perl-ai.

    charles colbourn

      1st, NNFlex works very well, specially because we can set the number of layers, nodes and extra configurations for each layer, what make possible to use NNFlex in many different problems.

      I have rewrited your modules to fix some load and save (dump_state/load_state). Now I'm able to serialize the NN and load it with 100% of the previous state. Also the code is faster. Then I have added a new interface where is very easy to learn a set and get the output with the same values of the inputs.

      I will send the code to you in sime days.