28

2020年六大机器学习Python库!

 4 years ago
source link: http://ai.51cto.com/art/202006/618084.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

IfmyYvj.jpg!web

【51CTO.com快译】

外头有许多类型的python库可用,本文介绍了一些流行的机器学习库。

1. NumPy:

NumPy是一种通用的数组处理软件包。它提供高性能的多维数组对象和用于处理这些数组的工具。它是用于科学计算的基本Python软件包。

NumPy针对Python的CPython参考实现,这是一种非优化的字节码解释器。

NumPy的核心功能是“ndarray”,代表n维数组数据结构。这些数组是内存中的交错视图。相比Python的内置列表数据结构,这些数组是同构类型的:单个数组的所有元素都必须是同一类型。

2. Scipy:

SciPy是一种免费开源Python库,用于科学计算和技术计算。

它包含用于优化、线性代数、积分、插值、特殊函数、FFT、信号及图像处理、ODE求解器以及科学工程中其他常见任务的模块。

NumPy堆栈有时也叫SciPy堆栈。SciPy使用的基本数据结构是NumPy模块提供的多维数组。NumPy提供了一些用于线性代数、傅立叶变换和随机数生成的函数,但不具有SciPy中的等效函数具有的一般性。

3. Scikit-learn:

Scikit-learn(又名sklearn)是面向Python编程语言的免费软件机器学习库。

它有各种分类、回归和聚类算法,包括支持向量机、随机森林、梯度提升、k均值和DBSCAN,旨在与Python数值库NumPy和科学库SciPy协同操作。

Scikit-learn项目始于David Cournapeau开发的谷歌编程夏令营(Summer of Code)项目“SciKit”(SciPy Toolkit)。

它是GitHub上最受欢迎的机器学习库之一。

它主要用Python编写,广泛地使用NumPy,用于高性能线性代数和数组运算。

4. Tensorflow:

TensorFlow是一种免费开源软件库,用于针对各种任务的数据流和可微分编程。

TensorFlow是谷歌Brain的第二代系统。参考实现在单个设备上运行,但TensorFlow可以在多个CPU和GPU上运行。TensorFlow可在64位的Linux、macOS、Windows和移动计算平台(包括Android和iOS)上使用。

Tensor处理单元(TPU):2016年5月谷歌宣布Tensor处理单元,这种针对特定应用的集成电路专门为机器学习而构建,为TensorFlow量身定制。TPU是一种可编程的AI加速器,旨在提供高吞吐量的低精度算术运算,面向使用或运行模型,而不是训练模型。

5. Pytorch:

PyTorch是一种基于Torch库的开源机器学习库,用于计算机视觉和自然语言处理等应用,主要由Facebook的AI研究实验室开发。

它有更完善的Python接口,主要侧重于开发,它还有C++接口。

几款深度学习软件是在PyTorch上构建的,包括优步的Pyro、HuggingFace的Transformers和Catalyst。

它提供两种高级功能:通过GPU实现拥有强大加速功能的Tensor计算,建立在基于磁带的自动微分系统上的深度神经网络(DNN)。

它定义了一个名为Tensor的类来存储和操作数字的异构多维矩形阵列。PyTorch张量类似NumPy数组,但也可以在支持CUDA功能的英伟达GPU上加以处理。

6. Keras:

Keras是一种用Python编写的开源神经网络库。它能够在TensorFlow、Microsoft Cognitive Toolkit、R、Theano或PlaidML上运行。

Keras致力于易于使用、模块化和可扩展。

François Chollet(谷歌工程师兼Keras的维护者)解释,Keras被认为是一种接口,而不是一种独立的机器学习框架。它提供了更高级、更直观的抽象集,无论使用哪种计算后端,用户都可以轻松开发深度学习模型。

Keras含有常用神经网络构建模块的众多实现,比如层、目标、激活函数、优化器以及许多工具,这些工具使图像和文本数据处理起来更容易,从而简化编写深度神经网络代码所需的编程工作。

Keras支持卷积和循环神经网络。它支持其他常见的实用层,比如随机失活、批量归一化和池化。Keras让用户可以把深度模型用在智能手机、Web或Java虚拟机上。

截至2018年年中,Keras声称拥有逾25万个人用户,它在KDnuggets 2018软件调查中是被引用次数排名第十的工具,使用率达到22%。

参考资料:

https://en.wikipedia.org/wiki/NumPy

https://en.wikipedia.org/wiki/Scikit-learn

https://en.wikipedia.org/wiki/PyTorch

https://en.wikipedia.org/wiki/Keras

https://en.wikipedia.org/wiki/TensorFlow

https://en.wikipedia.org/wiki/SciPy

原文标题:Best Python Libraries For Machine Learning in 2020 — TOP 6,作者:Madhav Mishra

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK