[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  
speed.
I think it can appear in next release. If you like, just send me your  
implementation
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  
think?

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  
modules,
but these, in opposite to ffnet, don't calculate even gradients for  
minimalization yet.
Besides, ffnet has pikaia genetic optimizer bindings (which could be  
included
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  
includes
several architectures (but I don't suspect there are altivec sorts of  
things).

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

Greetings
-- 
Marek Wojciechowski


More information about the SciPy-user mailing list