Take the 2-minute tour ×
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

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.

share|improve this question
    
Your question is very interesting, but I think you're asking for too much. A comprehensive evaluation of different neural network softwares in python is too broad to be answered on this forum. It may be helpful to narrow the focus of your question to a particular criterion and software of interest to you. –  Paul Jan 13 at 14:41
    
Furthermore, we cannot migrate your question as it is now too old. If you feel that another SE site is more suitable for your question, you'll have to delete this one and repost it on the other site. Even if you repost the question, I still feel that its in your best interest to narrow the scope of your question to increase the likelihood of obtaining a good answer. –  Paul Jan 13 at 14:45
    
@Paul Thanks for the feedback. –  gerrit Jan 13 at 14:52
add comment

2 Answers 2

Did you check out scikit-learn? It's totally not my domain but I have heard some very positive user experiences...

share|improve this answer
    
Would fall in the category There are probably others — adding yet another library to the list doesn't solve my problem, but rather extends the scope of an intercomparison I'd hope to see... –  gerrit Jan 25 '13 at 15:47
    
Well, from what I heard and read, the advantage of scikit-learn is that it's a framework containing a multitude of methods. Maybe that will ease your work when you do an intercomparison of methods applied to your problem. –  GertVdE Jan 26 '13 at 12:20
2  
scikit-learn doesn't contain neural network methods, the artifical neural network model was removed in 0.12, and they recommended at the time that users who needed that functionality switch to PyBrain. –  Aron Ahmadia Jan 28 '13 at 18:45
add comment

Have you looked at Theano? it seems quite powerful.

share|improve this answer
    
Indeed, Theano is very powerful. But it's compiler (or framework) that allows one to write python code which then gets compiled and executed on GPU. Theano can be used to implement NNs, but it's not a ML library. –  Barmaley.exe May 4 at 13:38
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.