Matlab神经网络工具箱的Python OSS替代品。有什么比较吗?


16

我希望自己的科研工作独立于商业软件。我发现对像Matlab这样的商业软件包及其工具箱的依赖性不理想,因为我不知道将来是否可以使用Matlab,并且因为我不喜欢这种语言。因此,我正在寻找替代方案。

幸运的是,我精通Python(并且我很喜欢这种语言),并且通过NumPy,SciPy,Matplotlib,Basemap和NetCDF读写例程,它可以满足我的大多数需求。大多数-当我需要使用前馈多层感知器(例如使用人工神经网络)来训练卫星检索时,我仍然回到Matlab。

与开源软件不同寻常的是,有不止一个软件包可以执行神经网络。不止一个:

  • 不久前,我尝试了“用于神经网络的瑞士军刀” PyBrain,但在短时间内(开发时间和运行时间)都没有获得令人满意的结果。也许我没有尽力而为,或者它并不是真正针对我的实际需求。

  • 刚才我发现有一个名为Neurolab的程序包,它看起来很有前途:一个简单而强大的Python神经网络库,带有一个MATLABAPI,例如Neural Network Toolbox(NNT)

  • FFnet快速和易于使用的前馈Python的神经网络培训解决方案

  • simplenn

  • Peach,一个用于计算智能和机器学习

  • 有Python绑定到FANN快速人工神经网络库,描述为在这个StackOverflow的职位事实上的标准

  • 可能还有其他人。

是否有人根据易用性,速度等标准,对不同的选项进行了比较?我自己的用例是卫星检索,例如,拟合许多变量的强非线性函数。我非常一个用户神经网络的; 我对研究他们的内部运作方式不感兴趣。

有关Stats.SE的这个问题是相关的,但重点不同。


您的问题很有趣,但我认为您要求太多。对python中不同神经网络软件的全面评估太广泛了,无法在此论坛上得到解答。将问题的重点缩小到您感兴趣的特定标准和软件可能会有所帮助。
保罗

此外,由于您的问题已经太旧了,我们无法迁移。如果您认为另一个SE网站更适合您的问题,则必须删除该SE网站,然后将其重新发布到另一个网站上。即使您重新发布问题,我仍然认为缩小您问题的范围以增加获得良好答案的可能性符合您的最大利益。
保罗

不是Python,但目前我正在使用caffe进行神经网络。主要用于卷积神经网络,但是设置传统的NN甚至更容易。
任思远2014年

Answers:


1

您检查过scikit-learn吗?这完全不是我的领域,但我听到了一些非常积极的用户体验...


可能属于其他类别-向列表中添加另一个库并不能解决我的问题,而是扩大了我希望看到的比较的范围...
gerrit

好吧,据我所听和读到的,scikit-learn的优势在于它是一个包含多种方法的框架。当您比较解决问题的方法时,这可能会简化您的工作。
GertVdE

3
scikit-learn不包含神经网络方法,在0.12中删除了人工神经网络模型,他们建议需要此功能的用户切换到PyBrain。
Aron Ahmadia 2013年


1

我也是从在Matlab中使用神经网络到Python。Python中功能最强大的库之一是“ Pylearn2” http://deeplearning.net/software/pylearn2/。当前,这是最活跃的库,并具有许多不同的功能可以尝试。它基于Theano,因此速度很快,可以在GPU上运行。不幸的是,这也是它的缺点:API不断变化,并且学习曲线很高。您还必须使用YAML文件配置神经网络。使用PyBrain创建基本的神经网络取得了更大的成功。我需要解决回归问题的方法,在该方法中,我必须根据天气因素预测电站的负荷。此处的指南:http : //fastml.com/pybrain-a-simple-neural-networks-library-in-python/ 给了我90%的解决方案。

我发现PyBrain的一个问题是速度。它是用Python原生编写的。我发现神经网络的训练要比Matlab慢50倍。其他一些在通过Arac库加快PyBrain的培训过程方面也取得了成功。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.