python人工智能必会的模块扩展

python人工智能必会的模块扩展

NumPy

NumPy 提供了许多数学计算的数据结构和方法,较 Python 自身的 list 效率高很多。它提供的 ndarray 大大简化了矩阵运算。

Pandas

基于 NumPy 实现的数据处理工具。提供了大量数据统计、分析方面的模型和方法。一维的 Series,二维的 DataFrame 和三维的 Panel 是其主要的数据结构。

SciPy

进行科学计算的 Python 工具包,提供了诸如微积分、线性代数、信号处理、傅里叶变换、曲线拟合等众多方法。

Matplotlib

Python 最基础的绘图工具。功能丰富,定制性强,几乎可满足日常各类绘图需求,但配置较复杂。

只要你用 Python 和数据打交道,就绕不开以上这几个库,所以务必学习一下。

而在此之后,你就需要根据自己的具体方向,选择更专业的工具包进行研究和应用。Python 在人工智能方面最有名的工具库主要有:

Scikit-Learn

http://scikit-learn.org

Scikit-Learn 是用 Python 开发的机器学习库,其中包含大量机器学习算法、数据集,是数据挖掘方便的工具。它基于 NumPy、SciPy 和 Matplotlib,可直接通过 pip 安装。

TensorFlow

http://tensorflow.org

TensorFlow 最初由 Google 开发,用于机器学习的研究。TensorFlow 可以在 GPU 或 CPU 上运行,在深度学习领域表现优异。目前无论是在学术研究还是工程应用中都被广泛使用。但 TensorFlow 相对来说更底层,更多时候我们会使用基于它开发的其他框架。

Theano

http://deeplearning.net/software/theano/

Theano 是成熟而稳定的深度学习库。与 TensorFlow 类似,它是一个比较底层的库,适合数值计算优化,支持 GPU 编程。有很多基于 Theano 的库都在利用其数据结构,但对于开发来说,它的接口并不是很友好。

Keras

http://keras.io

Keras 是一个高度模块化的神经网络库,用 Python 编写,能够在 TensorFlow 或 Theano 上运行。它的接口非常简单易用,大大提升了开发效率。

Caffe

http://caffe.berkeleyvision.org

Caffe 在深度学习领域名气很大。它由伯克利视觉和学习中心(BVLC)和社区贡献者开发,具有模块化、高性能的优点,尤其在计算机视觉领域有极大的优势。Caffe 本身并不是一个 Python 库,但它提供了 Python 的接口。

PyTorch

http://pytorch.org

Torch 也是一个老牌机器学习库。Facebook 人工智能研究所用的框架是 Torch,DeepMind 在被谷歌收购之前用的也是 Torch(后转为 TensorFlow),足见其能力。但因 Lua 语言导致其不够大众。直到它的 Python 实现版本 PyTorch 的出现。

MXNet

http://mxnet.incubator.apache.org

亚马逊 AWS 的默认深度学习引擎,分布式计算是它的特色之一,支持多个 CPU/GPU 训练网络。