干货:10大开源Python机器学习框架

入门机器学习和人工智能并非易事。由于如今有大量可用的资源,许多机器学习爱好者发现很难找到正确的方向。想要在这个领域不断发展,我们就必须跟上其快速发展的步伐。为了应对机器学习领域势不可挡的演变和创新速度,了解并紧跟该领域最新进展的一个好方法是:作为一个开源社区贡献者,参与到这些开源项目和工具的开发中去。今天,我们将讨论关于Python、机器学习和AI的Top10开源项目。

干货:10大开源Python机器学习框架

1. TensorFlow:

TensorFlow是一个开源软件库,它使用数据流图进行数值计算。节点表示图中的数学运算,而图边表示在它们之间流动的多维数据数组(张量)。这种灵活的架构允许其用户部署计算,而无需将代码重写到个人电脑、服务器或移动设备中的一个或多个CPU或GPU。 TensorFlow还包含一个名为TensorBoard的数据可视化工具包。

GitHub:Tensorflow

干货:10大开源Python机器学习框架

2. Scikit-learn:

用于机器学习的Scikit-learn是Python中的一个模块,已经构建在SciPy的顶层。该项目于2007年作为David Cournapeau的Google Summer of Code项目启动。自此,有许多人参与其中,它目前由一个志愿者团队维护。

GitHub:Scikit-Learn

干货:10大开源Python机器学习框架

3. Keras:

用Python编写的Keras是一个高级神经网络API,可以在TensorFlow或Theano上运行。它的开发始终致力于实现快速实验。

如果您需要一个深度学习库,则可以使用Keras:

  • 通过用户友好性、模块化和可扩展性,可以实现简单快速的原型设计。
  • 支持卷积神经网络、递归神经网络以及两者的组合。
  • 无缝运行在CPU和GPU上。

GitHub:Keras

4. PyTorch:

PyTorch是Python中的一个软件包,它为用户提供以下功能:

  • 凭借强劲的GPU加速,计算张量
  • 在基于磁带的autograd系统上构建深度神经网络

Python包(如NumPy,SciPy和Cython)可以在需要时重复使用以扩展PyTorch。

GitHub:PyTorch

5. Theano:

Theano是一个用Python编写的库,它允许用户定义、优化和评估数学表达式,这些数学表达式高效地涉及到多维的数组。它可以使用GPU来执行高效的符号区分。

GitHub:Theano

6. Gensim:

Gensim是Python中的一个库,用于文档索引主题建模和大型语料库的相似性检索。目标受众是信息检索(IR)和自然语言处理(NLP)社区。

特征:

  • 直观的接口
  • 易于插入自己的输入语料库/数据流(简单流媒体API)
  • 易于使用其他矢量空间算法(简单转换API)
  • 算法的高效多核实现非常流行,如潜在狄利克雷分配(LDA),随机投影(RP)等等。
  • 分布式计算:在一组计算机上,有能力运行潜在语义分析和潜在狄利克雷分配。

GitHub:Gensim

7. Caffe:

Caffe是一个深入的学习框架,牢记表达,速度以及模块化。该框架由伯克利人工智能研究(BAIR)、伯克利视觉和学习中心(BVLC)以及社区贡献者开发。

GitHub:Caffe

8. Chainer:

Chainer是一个基于Python的深度学习框架框架,旨在提高灵活性。它基于逐个定义的方法(也称为动态计算图)提供自动区分API以及面向对象的高级API来构建以及训练神经网络。

它使用CuPy还支持CUDA / cuDNN进行高性能培训和推理。

GitHub:Chainer

9. Statsmodels:

Statsmodels是Python中的一个软件包,用于统计计算,为用户提供对Scipy的补充,包括描述性统计、估计以及统计模型的推断。

GitHub:Statsmodel

10.Shogun:

Shogun是机器学习工具箱,它为用户提供了广泛的统一以及高效的机器学习(ML)方法。该工具箱允许多个数据表示、算法类以及通用工具无缝组合。

Github:Shogun


分享到:


相關文章: