[SciPy-user] feed-forward neural network for python

Marek Wojciechowski mwojc at p.lodz.pl
Mon Dec 11 16:54:36 CST 2006

On Wed, 06 Dec 2006 20:16:05 -0000, <scipy-user-request at scipy.org> wrote:

> I find that the rprop algorithm is the best for real-world-noisy data
> (besides GAs), and this could be an easy add. I have a python
> implementation that uses scipy to run rprop, there is definite room
> for improvement, I'm mainly using scipy.where() and wrote the function
> directly from the original rprop paper (i can send you this code if
> you'd like it).  However, it may be faster to use fortran here as
> well. The original c version or rprop is here
> http://www.koders.com/c/fid1B403F9BA6B2BAA1C7CEDD1C680F8AAB2819B44E.aspx

Yes, adding rprop would be quite easy, and it can be done in fortran for  
I think it can appear in next release. If you like, just send me your  
of rprop in python, I'll see if it can be useful...

Generally, in future, I planned to have all fortran parts also in python.
This is for all these poor people without numpy and scipy. How do you  

Another solution would be to try to include ffnet to scipy distribution.
There is actually no support of ANNs in scipy. I saw scipy.sandbox.ann  
but these, in opposite to ffnet, don't calculate even gradients for  
minimalization yet.
Besides, ffnet has pikaia genetic optimizer bindings (which could be  
to scipy.optimize) and many improvements, like automatic normalization of  
data which
makes using ANNs much easier...

> I also think that it would be great to have two versions of this.  One
> for general usage and one for altivec and sse 64bit ibm and intel
> chips, which at this stage of the project would be easy to modify
> http://developer.apple.com/documentation/Performance/Conceptual/Accelerate_sse_migration/index.html
> gcc 4.0.3 does some auto optimization with the right flags and I've
> found you can increase the speed by factors of 10 or more in many
> cases.  What type of platforms do you have access to?  The CHUD tools
> on OS X are very effective and might be useful
> (http://developer.apple.com/tools/performance/) to find optimizations
> relevant to all platforms.

Generally I was never interested in optimizing my code for
platforms other than x86. I have access to sourceforge compile farm which  
several architectures (but I don't suspect there are altivec sorts of  

I, personally, have no time to investigate special coding for altivec/sse.  
If you are
interested in this and you think it could be really useful, I may consider  
creating a branch
of ffnet for this purpose.

And just to remind, ffnet is at https://sourceforge.net/projects/ffnet

Marek Wojciechowski

More information about the SciPy-user mailing list