Bug 497001 - Review Request: auto-nng - A software for analysis and classification of data, using AI NN
Summary: Review Request: auto-nng - A software for analysis and classification of data...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-04-21 23:40 UTC by Fabian Deutsch
Modified: 2010-11-05 12:41 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-11-05 12:41:51 UTC
Type: ---
Embargoed:
j: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Fabian Deutsch 2009-04-21 23:40:19 UTC
Spec URL: http://www.informatik.uni-bremen.de/~fabiand/fedora/autonng/1/auto-nng.spec
SRPM URL: http://www.informatik.uni-bremen.de/~fabiand/fedora/autonng/1/auto-nng-1.5-1.fc10.src.rpm
Description:
You can feed an amount of datasets consisting of certain input and output 
parameters into the program, to make it try to find a mathematical correlation 
between the input and output parameters. Afterwards the program tries to 
calculate the output parameters for datasets which only have known input 
parameters.

Comment 1 Jason Tibbitts 2009-07-11 01:51:43 UTC
Builds find and rpmlint is silent.

There is a simple test program included; is there any reason not to run it?  I see that you had commented out a build dependency on ruby, so perhaps you intended this.  I guess it takes a while (almost exactly 3 minutes on my 2.4GHz 8-core Nehalem machine) but I doubt it will need to be built often.

Could you add the sentence
 "auto-nng is a software for analysis and classification of data, using 
  artificial neuronal networks."
to the beginning of %description?  It makes a little more sense that way.

You use both $RPM_BUILD_ROOT and %{buildroot} forms.  You can use which ever you prefer, but you must be consistent.

The compiler flags are not correct.  You need to pass %{optflags} (or $RPM_OPT_FLAGS if you prefer) to the compiler.  It looks like you just need to pass CFLAGS to the Makefile, but you may need to patch out the '-O3' call unless you can demonstrate that it helps.

The debuginfo package is broken because -g isn't passed to the compiler.

* source files match upstream.  sha256sum:           
   1beff6a1ff8bdafcd945627d4d2a6087bb3ada0c34f1071e6b8ea842d30d9fc3  
   auto-nng.v1.5.tar.gz
* package meets naming and versioning guidelines.
X specfile does not use macros consistently.
* summary is OK.                                                              
? description could use a tweak.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
X compiler flags are not correct.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly.
X debuginfo package is mostly empty.
* rpmlint is silent.
* final provides and requires are sane:
   auto-nng = 1.5-1.fc12
   auto-nng(x86-64) = 1.5-1.fc12
  =
   (none)

X %check is not present, but there's a test suite.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no generically named files
* code, not content.
* documentation is small, so no -doc subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no static libraries.
* no libtool .la files.

The package review process needs reviewers!  If you haven't done any package
reviews recently, please consider doing one.

Comment 2 Fabian Deutsch 2009-07-28 15:37:03 UTC
I fixed
- macro usage
- compiler flags and debuginfos
- added %check, taks 3min

rpmlint does not complain.
koji build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=1550393
(still free, as of massive rebuilds, should run fine.)

Comment 3 Fabian Deutsch 2009-07-28 15:54:54 UTC
koji build went fine.

Comment 4 Jason Tibbitts 2009-07-29 18:40:58 UTC
Did you want to post an updated spec and src.rpm?

Comment 6 Jason Tibbitts 2009-07-29 20:13:45 UTC
Oddly enough, the tests failed on my system (8 core Nehahalem Xeon E5530, 48GB of RAM) building with mock in a rawhide chroot:

Loading neuronal network from file "test.network.nn".
Network loaded, processing data.
79.35 % correct.
20.65 % wrong.
Limit: 17.66 %.
Test failed, please try again.

So I tried again, and the test passes:

Loading neuronal network from file "test.network.nn".
Network loaded, processing data.
96.17 % correct.                                                  
3.83 % wrong.                                                   
Limit: 17.64 %.                                           
Test passed.

The "wrong" percentage changes with each run, so I suppose there's some nondeterministic behavior in the training process and occasionally it fails to fine a reasonable minimum.  The process always takes exactly three minutes, so I guess it's just processing until it times out.  Still seems problematic that the test can just randomly fail.  Also interesting is that a failing test doesn't break the build.  I guess it's better than nothing, because I think the build would fail if the tests segfaulted or otherwise died.

Otherwise everything looks good to me, and I don't think the test suite issue to be significant enough to hold up this package.

APPROVED

Comment 7 Fabian Deutsch 2009-07-29 20:34:25 UTC
To explain those tests: The neural net itself is detemrinistic afaik. But the test uses random numbers and the learning algorithm just finds local maxima, so it can happen that the test fails. That one big disadvanteg of neural networks: you never know if the solution you find is the best ...
Concluding: It's is correct that we pass even if the test fails, because the test is just checking the funcionality of the net and as even bad networks are neural networks the test actually is ok.
Normally you stop training a network by looking at the mean square error or after a certain time.

Comment 8 Jason Tibbitts 2009-11-03 15:41:43 UTC
So I approved this review months ago; is there some reason that no CVS request has been made?

Comment 9 Fabian Deutsch 2009-11-03 16:05:03 UTC
New Package CVS Request
=======================
Package Name: auto-nng
Short Description: A software for analysis and classification of data, using AI NN

Owners: fabiand
Branches: F-12
InitialCC: fabiand tibbs

Comment 10 Jason Tibbitts 2009-11-03 19:34:44 UTC
You need to set the fedora-cvs flag to '?' if you want the CVS admins to see your request.

Also, please don't CC me on tickets I review.

Comment 11 Fabian Deutsch 2009-11-03 19:46:05 UTC
Thanks for your hints.

Comment 12 Kevin Fenzi 2009-11-03 21:54:26 UTC
cvs done.

Comment 13 Jason Tibbitts 2010-11-05 12:41:51 UTC
I've no clue at all why this is still open after a year.


Note You need to log in before you can comment on or make changes to this bug.