I'd like to be independent of commercial software for my scientific work. I find a dependence an commercial packages such as Matlab and its toolboxes unsatisfactory, because I do not know if I will have access to Matlab in the future, and because I don't like the language. Therefore, I'm looking for alternatives.
Fortunately, I'm quite fluent in Python (and I love the language), and with NumPy, SciPy, Matplotlib, Basemap, and NetCDF reading and writing routines, it satisfies most of my needs. Most — I still return to Matlab when I need to train satellite retrievals using feed-forward multi-layer perceptrons, e.g. te use Artificial Neural Networks.
As is not unusual with open-source software, there is more than one package that does neural networks. Considerably more than one:
A while ago I tried PyBrain, "the swiss army knife for neural networking", but I didn't succeed in getting any satisfactory results in a short time (both develop-time and run-time). Perhaps I didn't try hard enough, or perhaps it's not really geared toward my exact need.
Just now I discovered that there is a package called neurolab, which looks promising: a simple and powerful Neural Network Library for Python, with an API like Neural Network Toolbox (NNT) from MATLAB.
There is FFnet, a fast and easy-to-use feed-forward neural network training solution for python
There is simplenn
There is Peach, a library for computational intelligence and machine learning
There are Python bindings to FANN, the Fast Artificial Neural Network library, described as a de facto standard in this StackOverflow post.
There are probably others.
Has anyone gone through the effort of intercomparing the different options, based on criteria such as easy of use, speed, etc.? My own use case is satellite retrievals, e.g. fitting a strongly non-linear function of many variables. I am very much a user of neural nets; I am not interested in researching their inner workings.
This question on Stats.SE is related, but with a different focus.