Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #287

ffnet-0.7 released

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!feeder.news-service.com!feeder.news-service.com!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <mwojc@p.lodz.pl>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'url:sourceforge': 0.02; 'subject:released': 0.03; 'python.': 0.04; 'attributes': 0.05; 'scipy': 0.05; 'function,': 0.07; 'linear': 0.07; 'received:localnet': 0.07; 'python': 0.08; 'scripts': 0.09; 'newest': 0.09; 'outlined': 0.09; 'target,': 0.09; 'untouched.': 0.09; 'api': 0.09; 'output': 0.10; 'examples': 0.11; 'algorithm': 0.13; '-----------': 0.15; 'allowed.': 0.16; 'calculation': 0.16; 'class)': 0.16; 'neural': 0.16; 'numpy,': 0.16; 'outputs': 0.16; 'set;': 0.16; '(i.e.': 0.17; '>>>': 0.18; 'programming': 0.20; '-----': 0.23; 'compiled': 0.23; 'versions': 0.23; 'changes:': 0.23; 'connectivity': 0.23; 'derivatives': 0.23; 'moreover,': 0.23; 'vs.': 0.23; 'changed': 0.24; 'input': 0.24; 'function': 0.27; '(see': 0.28; 'scale': 0.28; 'import': 0.28; 'mapping': 0.29; '(and': 0.29; 'software.': 0.29; 'skip:- 30': 0.29; 'example': 0.30; 'module': 0.30; 'cycles': 0.30; 'separately': 0.30; 'sources,': 0.30; 'url:projects': 0.30; 'version': 0.32; 'implementing': 0.32; 'pure': 0.32; 'ideal': 0.32; 'source': 0.33; 'there': 0.33; 'function.': 0.34; 'languages.': 0.34; 'limitations': 0.34; '(with': 0.35; 'core': 0.36; 'couple': 0.36; 'data.': 0.36; 'optimization': 0.36; 'partial': 0.37; 'to:addr :python-announce-list': 0.37; 'using': 0.37; 'several': 0.37; 'especially': 0.37; 'should': 0.38; 'skip:- 10': 0.39; 'basic': 0.39; 'data': 0.39; 'to:addr:python.org': 0.39; 'description': 0.39; 'called': 0.40; 'download': 0.60; 'url:net': 0.60; 'provided': 0.60; 'target': 0.61; 'training': 0.61; 'competitive': 0.61; 'header:Message-Id:1': 0.61; 'unique': 0.62; 'power': 0.63; 'full': 0.63; 'below.': 0.66; 'exact': 0.68; 'capabilities': 0.71; 'trained': 0.71; 'automatic': 0.72; 'activation': 0.77; 'received:pl': 0.84; 'dropped.': 0.84; 'sum': 0.89
X-Virus-Scanned amavisd-new at zmta1.p.lodz.pl
Subject ffnet-0.7 released
To python-announce-list@python.org
From Marek Wojciechowski <mwojc@p.lodz.pl>
Organization Politechnika Łódzka
Date Tue, 9 Aug 2011 02:56:31 +0200
MIME-Version 1.0
Content-Type text/plain; charset="utf-8"; format=flowed; delsp=yes
Content-Transfer-Encoding 7bit
X-Mailman-Approved-At Tue, 09 Aug 2011 18:22:14 +0200
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.12
Precedence list
Reply-To python-list@python.org
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
Approved python-announce-list@python.org
Newsgroups comp.lang.python.announce
Message-ID <mailman.2073.1312906934.1164.python-announce-list@python.org> (permalink)
Lines 81
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1312906934 news.xs4all.nl 23844 [2001:888:2000:d::a6]:51356
X-Complaints-To abuse@xs4all.nl
Xref x330-a1.tempe.blueboxinc.net comp.lang.python.announce:287

Show key headers only | View raw


ffnet version 0.7 has been released and is available for download at:

    http://sourceforge.net/projects/ffnet/

This release contains couple of important changes:
    - neural network can be trained now using the power of multi-processor
      systems (see example mptrain.py)
    - attributes necessary for calculation of network derivatives 
      are now generated only on demand;
    - data normalization limits are not changed when re-trainig with new
      data set; net.renormalize=True have to be set first;
    - compatibility with newest versions of numpy, scipy and networkx
      is enhanced;
    - support for *export to java* and *drawing network with drawffnet*
      is dropped.
Basic API is left almost untouched. Exactly the same trainig scripts 
as for older versions should work without problems.


What is ffnet?
--------------
ffnet is a fast and easy-to-use feed-forward neural 
network training solution for python.
 
Unique features present in ffnet
--------------------------------
1. Any network connectivity without cycles is allowed.
2. Training can be performed with use of several optimization 
   schemes including: standard backpropagation with momentum, rprop,
   conjugate gradient, bfgs, tnc (with multiprocessing)
   and genetic alorithm based optimization.
3. There is access to exact partial derivatives of network outputs 
   vs. its inputs.
4. Automatic normalization of data.
 
Basic assumptions and limitations
---------------------------------
1. Network has feed-forward architecture.
2. Input units have identity activation function, 
   all other units have sigmoid activation function.
3. Provided data are automatically normalized, both input and output, 
   with a linear mapping to the range (0.15, 0.85).
   Each input and output is treated separately (i.e. linear map is 
   unique for each input and output).
4. Function minimized during training is a sum of squared errors 
   of each output for each training pattern.
 
Performance
-----------
Excellent computational performance is achieved implementing core
functions in fortran 77 and wrapping them with f2py. ffnet outstands
in performance pure python training packages and is competitive to
'compiled language' software. Incorporation of multiprocessing capabilities
(tnc algorithm so far) makes ffnet ideal for large scale (really!)
problems. Moreover, a trained network can be exported to fortran sources, 
compiled and called from many programming languages.
 
Usage
-----
Basic usage of the package is outlined below. 
See description of ffnet module and its functions 
(and especially ffnet class) for detailed explanations.
 
>>> from ffnet import ffnet, mlgraph, savenet, loadnet, exportnet
>>> conec = mlgraph( (2,2,1) )
>>> net = ffnet(conec)
>>> input = [ [0.,0.], [0.,1.], [1.,0.], [1.,1.] ]
>>> target  = [ [1.], [0.], [0.], [1.] ]
>>> net.train_tnc(input, target, maxfun = 1000)
>>> net.test(input, target, iprint = 2)
>>> savenet(net, "xor.net")
>>> exportnet(net, "xor.f")
>>> net = loadnet("xor.net")
>>> answer = net( [ 0., 0. ] )
>>> partial_derivatives = net.derivative( [ 0., 0. ] )
 
Usage examples with full description can be found in 
examples directory of the source distribution.

-- 
Marek Wojciechowski

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ffnet-0.7 released Marek Wojciechowski <mwojc@p.lodz.pl> - 2011-08-09 02:56 +0200

csiph-web