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

计算科学 Python 机器学习
2021-12-19 23:23:41

我想在我的科学工作中独立于商业软件。我发现对诸如 Matlab 及其工具箱之类的商业软件包的依赖不令人满意,因为我不知道将来是否可以使用 Matlab,而且我不喜欢该语言。因此,我正在寻找替代品。

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

开源软件并不罕见,有不止一个包可以处理神经网络。远远不止一个:

  • 前段时间我尝试了 PyBrain,“神经网络的瑞士军刀”,但我没有在短时间内(开发时和运行时)获得任何令人满意的结果。也许我没有足够努力,或者也许它并没有真正适合我的确切需求。

  • 刚才我发现有一个名为neurolab的包,看起来很有前途:一个简单而强大的 Python 神经网络库,其API 类似于来自 MATLAB 的神经网络工具箱 (NNT)

  • FFnet是一种快速且易于使用python 前馈神经网络训练解决方案

  • 简单的

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

  • 有与 FANN 的 Python 绑定,FANN快速人工神经网络库,在 StackOverflow 帖子中被描述为事实上的标准

  • 可能还有其他人。

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

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

3个回答

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

你看过Theano吗?似乎相当强大

我也是从在 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 的训练过程取得了成功。