What is libF2N2?

libF2N2 is an assortment of compatible feedforward neural network classes implemented in multiple languages, all capable of saving and loading neural network weights to the same file format.

Imagine you have to write a PHP script for a forum system which analyses uploaded user avatars for sexually explicit imagery or otherwise inappropriate content. A useful way would be to implement a neural network, but you would not only have to code and debug one in PHP; you would have to train it with thousands of samples and thus be hampered by PHP's slowness and maximum execution time.

Enter libF2N2. Decide on a neural network structure, include the F2N2 library, and initialize a working neural network in moments. With your resource of thousands of images, some marked as inappropriate and some as acceptable, you rapidly train your network by running a high-speed C++ program using libF2N2 against these samples. When done, your compiled program saves the weights and biases of the trained neural network to a text file, and you then instruct your PHP script to create a neural network of identical structure and load the weights prepared by your C++ program - and your PHP neural network is trained.

Okay, so maybe it's not so simple. You need to understand the basics of neural networks. But if implementing backpropagation and neural networks gives you headaches, libF2N2 might just be that cure.

2nd July 2005
libF2N2 0.2 released.
Main changes:
  • C++ and PHP implementations split into different packages.
  • Constructor API modified.
  • Mutation function changed to Gaussian mutation.
  • C++ implementation split up into .cpp and .h files
10th June 2005
libF2N2 0.1 released, with neural network classes implemented in C++ and PHP.