Discussion:
testing ann
Marcel Serour
2007-03-04 17:48:52 UTC
Permalink
there are two test examples that come with fann source, one uses fann_run
and the other fann_test , what's the difference?

any automated test function that test against a training file? would that be
useful? to test for every pair as it would be used for training, but to test
how well the ann is trained?

marcel
Seth Price
2007-03-04 19:13:35 UTC
Permalink
I've spent some time creating a small test framework. I haven't had
enough time to finish it and attempt to merge it with CVS, but I'll
send anyone the code who is interested in helping out.
~Seth
Post by Marcel Serour
there are two test examples that come with fann source, one uses
fann_run and the other fann_test , what's the difference?
any automated test function that test against a training file?
would that be useful? to test for every pair as it would be used
for training, but to test how well the ann is trained?
marcel
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to
share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV________________________________
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Marcel Serour
2007-03-04 22:43:31 UTC
Permalink
well, then please do, I started to write my own, so no reason to continue
alone when I can help..

marcel
Post by Seth Price
I've spent some time creating a small test framework. I haven't had
enough time to finish it and attempt to merge it with CVS, but I'll
send anyone the code who is interested in helping out.
~Seth
Post by Marcel Serour
there are two test examples that come with fann source, one uses
fann_run and the other fann_test , what's the difference?
any automated test function that test against a training file?
would that be useful? to test for every pair as it would be used
for training, but to test how well the ann is trained?
marcel
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV________________________________
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
Seth Price
2007-03-04 23:38:33 UTC
Permalink
I made a quick-and-dirty diff of fann.c and included the beginnings
of a program for testing ANNs. My next step is to make a bunch of
runs to establish a baseline. Pseudo-code for testing against the
baseline:

foreach(fann_train_enum){
foreach(fann_activationfunc_enum){
foreach(fann_nettype_enum){
- Seed libfann with constant
- Create a small multilayer ANN with given parameters
- Train net for 100 epochs
- Test against previous results
- Print results (PASS/FAIL)
}
}
}

Once you have the code written for testing, it should be trivial to
dump out the tests and copy-paste them back into the program to
establish said baseline. I'd imagine that this method would pick up
any fann_run() changes fairly quickly.

Code so far (barely a framework) here:
http://pricepages.org/fann/testing.zip
~Seth
Post by Marcel Serour
well, then please do, I started to write my own, so no reason to
continue alone when I can help..
marcel
I've spent some time creating a small test framework. I haven't had
enough time to finish it and attempt to merge it with CVS, but I'll
send anyone the code who is interested in helping out.
~Seth
Post by Marcel Serour
there are two test examples that come with fann source, one uses
fann_run and the other fann_test , what's the difference?
any automated test function that test against a training file?
would that be useful? to test for every pair as it would be used
for training, but to test how well the ann is trained?
marcel
----------------------------------------------------------------------
Post by Marcel Serour
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV________________________________
Post by Marcel Serour
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV________________________________
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
Marcel Serour
2007-03-05 02:34:40 UTC
Permalink
I don't think I quite understand you pseudo-code, could you explain a little
better?

anyway I downloaded testing.zip, seems that the testing functions receive
int * passed, int * failed, why don't they return true or false instead of
this?

marcel
I made a quick-and-dirty diff of fann.c and included the beginnings of a
program for testing ANNs. My next step is to make a bunch of runs to
foreach(fann_train_enum){
foreach(fann_activationfunc_enum){
foreach(fann_nettype_enum){
- Seed libfann with constant
- Create a small multilayer ANN with given parameters
- Train net for 100 epochs
- Test against previous results
- Print results (PASS/FAIL)
}
}
}
Once you have the code written for testing, it should be trivial to dump
out the tests and copy-paste them back into the program to establish said
baseline. I'd imagine that this method would pick up any fann_run() changes
fairly quickly.
http://pricepages.org/fann/testing.zip
~Seth
well, then please do, I started to write my own, so no reason to continue
alone when I can help..
marcel
Post by Seth Price
I've spent some time creating a small test framework. I haven't had
enough time to finish it and attempt to merge it with CVS, but I'll
send anyone the code who is interested in helping out.
~Seth
Post by Marcel Serour
there are two test examples that come with fann source, one uses
fann_run and the other fann_test , what's the difference?
any automated test function that test against a training file?
would that be useful? to test for every pair as it would be used
for training, but to test how well the ann is trained?
marcel
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV________________________________
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
Seth Price
2007-03-05 03:07:46 UTC
Permalink
My pseudocode tests every permutation of the enumerations
fann_train_enum, fann_activationfunc_enum, and fann_nettype_enum.

They use *passed *failed so they can keep track of the total number
of tests run, the number passed, and the number failed.
~Seth
Post by Marcel Serour
I don't think I quite understand you pseudo-code, could you explain
a little better?
anyway I downloaded testing.zip, seems that the testing functions
receive int * passed, int * failed, why don't they return true or
false instead of this?
marcel
I made a quick-and-dirty diff of fann.c and included the beginnings
of a program for testing ANNs. My next step is to make a bunch of
runs to establish a baseline. Pseudo-code for testing against the
foreach(fann_train_enum){
foreach(fann_activationfunc_enum){
foreach(fann_nettype_enum){
- Seed libfann with constant
- Create a small multilayer ANN with given parameters
- Train net for 100 epochs
- Test against previous results
- Print results (PASS/FAIL)
}
}
}
Once you have the code written for testing, it should be trivial to
dump out the tests and copy-paste them back into the program to
establish said baseline. I'd imagine that this method would pick up
any fann_run() changes fairly quickly.
http://pricepages.org/fann/testing.zip
~Seth
Post by Marcel Serour
well, then please do, I started to write my own, so no reason to
continue alone when I can help..
marcel
I've spent some time creating a small test framework. I haven't had
enough time to finish it and attempt to merge it with CVS, but I'll
send anyone the code who is interested in helping out.
~Seth
Post by Marcel Serour
there are two test examples that come with fann source, one uses
fann_run and the other fann_test , what's the difference?
any automated test function that test against a training file?
would that be useful? to test for every pair as it would be used
for training, but to test how well the ann is trained?
marcel
---------------------------------------------------------------------
-
Post by Marcel Serour
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn
cash
Post by Marcel Serour
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV_______________________________
_
Post by Marcel Serour
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
---------------------------------------------------------------------
----
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
---------------------------------------------------------------------
----
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV_______________________________
________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV________________________________
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
Marcel Serour
2007-03-05 03:20:39 UTC
Permalink
Post by Seth Price
Seed libfann with constant
why would you feed your ann with a constant value?
Post by Seth Price
- Create a small multilayer ANN with given parameters
- Train net for 100 epochs
I don't understand it trains the given ann or train it?
Post by Seth Price
- Test against previous results
here it should compare if the fann_run output==desired value given in the
train data?
Post by Seth Price
- Print results (PASS/FAIL)
pass/fail based on what?


thanks for the patience
marcel
Post by Seth Price
My pseudocode tests every permutation of the enumerations fann_train_enum, fann_activationfunc_enum,
and fann_nettype_enum.
They use *passed *failed so they can keep track of the total number of
tests run, the number passed, and the number failed.
~Seth
I don't think I quite understand you pseudo-code, could you explain a
little better?
anyway I downloaded testing.zip, seems that the testing functions receive
int * passed, int * failed, why don't they return true or false instead of
this?
marcel
I made a quick-and-dirty diff of fann.c and included the beginnings of a
program for testing ANNs. My next step is to make a bunch of runs to
foreach(fann_train_enum){
foreach(fann_activationfunc_enum){
foreach(fann_nettype_enum){
- Seed libfann with constant
- Create a small multilayer ANN with given parameters
- Train net for 100 epochs
- Test against previous results
- Print results (PASS/FAIL)
}
}
}
Once you have the code written for testing, it should be trivial to dump
out the tests and copy-paste them back into the program to establish said
baseline. I'd imagine that this method would pick up any fann_run() changes
fairly quickly.
http://pricepages.org/fann/testing.zip
~Seth
well, then please do, I started to write my own, so no reason to
continue alone when I can help..
marcel
Post by Seth Price
I've spent some time creating a small test framework. I haven't had
enough time to finish it and attempt to merge it with CVS, but I'll
send anyone the code who is interested in helping out.
~Seth
Post by Marcel Serour
there are two test examples that come with fann source, one uses
fann_run and the other fann_test , what's the difference?
any automated test function that test against a training file?
would that be useful? to test for every pair as it would be used
for training, but to test how well the ann is trained?
marcel
----------------------------------------------------------------------
Post by Marcel Serour
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV_______________________________
_
Post by Marcel Serour
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
Seth Price
2007-03-05 03:58:15 UTC
Permalink
- Seed the random number generator with some known value so the same
initial ANN is created every run.

- Once the ANN is setup, apply the given settings, and train the ANN
on a training file for 100 epochs. Some example files can be found
with the distribution.

- Yes. Use the macro that I made "assert_equalsf()" It will handle
the PASS/FAIL bit also.

If you think of a better way of testing the library, go ahead with
that. This is simply what I was planning on doing, but I lack the time.
~Seth
Post by Marcel Serour
Post by Seth Price
Seed libfann with constant
why would you feed your ann with a constant value?
Post by Seth Price
- Create a small multilayer ANN with given parameters
- Train net for 100 epochs
I don't understand it trains the given ann or train it?
Post by Seth Price
- Test against previous results
here it should compare if the fann_run output==desired value given
in the train data?
Post by Seth Price
- Print results (PASS/FAIL)
pass/fail based on what?
thanks for the patience
marcel
My pseudocode tests every permutation of the enumerations
fann_train_enum, fann_activationfunc_enum, and fann_nettype_enum.
They use *passed *failed so they can keep track of the total number
of tests run, the number passed, and the number failed.
~Seth
Post by Seth Price
I don't think I quite understand you pseudo-code, could you
explain a little better?
anyway I downloaded testing.zip, seems that the testing functions
receive int * passed, int * failed, why don't they return true or
false instead of this?
marcel
I made a quick-and-dirty diff of fann.c and included the
beginnings of a program for testing ANNs. My next step is to make
a bunch of runs to establish a baseline. Pseudo-code for testing
foreach(fann_train_enum){
foreach(fann_activationfunc_enum){
foreach(fann_nettype_enum){
- Seed libfann with constant
- Create a small multilayer ANN with given parameters
- Train net for 100 epochs
- Test against previous results
- Print results (PASS/FAIL)
}
}
}
Once you have the code written for testing, it should be trivial
to dump out the tests and copy-paste them back into the program to
establish said baseline. I'd imagine that this method would pick
up any fann_run() changes fairly quickly.
http://pricepages.org/fann/testing.zip
~Seth
Post by Marcel Serour
well, then please do, I started to write my own, so no reason to
continue alone when I can help..
marcel
I've spent some time creating a small test framework. I haven't had
enough time to finish it and attempt to merge it with CVS, but I'll
send anyone the code who is interested in helping out.
~Seth
Post by Marcel Serour
there are two test examples that come with fann source, one uses
fann_run and the other fann_test , what's the difference?
any automated test function that test against a training file?
would that be useful? to test for every pair as it would be used
for training, but to test how well the ann is trained?
marcel
--------------------------------------------------------------------
--
Post by Marcel Serour
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn
cash
Post by Marcel Serour
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV______________________________
_ _
Post by Marcel Serour
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
--------------------------------------------------------------------
-----
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
--------------------------------------------------------------------
-----
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV______________________________
_________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
---------------------------------------------------------------------
----
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
---------------------------------------------------------------------
----
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV_______________________________
________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
----------------------------------------------------------------------
---
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?
page=join.php&p=sourceforge&CID=DEVDEV________________________________
_______________
Fann-general mailing list
https://lists.sourceforge.net/lists/listinfo/fann-general
Loading...