That said, I'm not able to get the examples to run cleanly on my system. I first downloaded AI-NeuralNets-Mesh and ran the ex_add, ex_sub, and ex_mult examples. Add worked great (and I was very excited by the possibilities) as did xor, but subtract and multiply gave grossly wrong answers. Looking more closely, I realized this package has not been supported in a long time.
I then downloaded NNFlex. The xor demo example works fine, but I was unable to modify it to make add, subtract, or multiply work, and also the cars demo did not work. Specifics:
When modifying xor to do add, subtract, or multiply as in the Mesh examples, if I add more than three training rules, the learning process gets stuck on the same error value after the third or fourth iteration and loops on that same value indefinitely. If I limit the iterations to something like 1024 and prematurely end learning, I get the same wrong result for every input.
This is the same behavior for the cars example provided with NNFlex. I let it run overnight to make sure I wasn't being impatient. In learning, Epoch 0 returned 1.#INF and Epoch 1 returned 2.69464268337377e+024 and that's where it stayed for 26,131 epochs while consuming 100% of the CPU for about 8 hours. That's the same type of behavior I was getting when trying to make simple modifications to the xor example.
Some system details:
perl -v This is perl, v5.8.6 built for MSWin32-x86-multi-thread Binary build 811 provided by ActiveState Corp.
NNFlex-0.23
I can not use NNEasy as I do not have VC++, so I can't compile the inline C code even though I have gcc under Cygwin. (Tried to fake it by editing the Makefile in the temporary directory and fixing the compiler switches, but no joy).
Other than the expected fork and OS memory management issues, I've had good luck with perl on windows. I have several gigabytes of data and some automated update routines on this platform, so I'd rather not move it to Linux if I can help it.
Additionally, on Fedora core release 2 with perl, v5.8.3 built for i386-linux-thread-multi, cars produces Epoch 0: Error = nan then nannan for some large number of iterations before stopping.
On linux, xor_minimal runs 5322 epochs then returns the right result. On w32, it runs 86 epochs then returns correct results.
Travis
PS: I have some theoretical questions about neural nets and data correlation that don't fit here on the perl discussion boards. Is there an appropriate place for these questions? From what I can tell, so far NNFlex is used mostly for academic purposes. If I can bend it to do some analysis that I'm interested in, I don't mind contributing back example code and HOWTO's for inclusion in a later release.
In reply to NNflex problems (win32) by tlpriest
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |