1.5 常用的第三方模块

TensorFlow的一大特性就是支持大量的第三方模块。例如,在运行中由于经常会处理各种科学计算,因此会使用NumPy;为了处理图像、音频、自然语言等,会使用matplotlib scikit-image、librosa NLTK Keras等优秀的第三方模块。在实际开发环境中也会安装常用的第三方模块。

1.NumPy

NumPy系统是Python的一种开源的数值计算扩展,用来存储和处理大型矩阵运算,比Python自身的嵌套列表结构要高效得多,主要包括N维数组对象Array、实用的线性代数、傅里叶变换和随机数生成函数等。

2.matplotlib

matplotlib是Python中最常用的可视化工具之一,利用它可以非常方便地创建各种类型的2D图表和一些基本的3D图表。仅使用几行代码,便可生成绘图、直方图、功率谱、条形图、错误图和散点图等。

3.scikit-image

scikit-image是图像处理和计算机视觉的算法集合。相比OpenCV库而言,scikit-image是一个精简轻便的框架且易于安装,非常适合用于TensorFlow中图像的预处理。

4.librosa

librosa是Python的一个工具包,在音频信号分析中经常用到,是进行音频特征提取的第三方库。

5.NLTK

NLTK是一个高效的Python工具,用来处理人类自然语言数据。它包括50多个语料库和词汇资源,并能够很方便地完成对词语的分类、标记化、词干标记、解析和语义推理等自然语言处理任务。

6.Keras

Keras原本是基于TensorFlow和Theano进行的模块化封装,提供较为上层的API,允许可配置的模块,可以非常容易地实现深度学习的原型。后来,TensorFlow将其添加到TensorFlow核心的高级别框架中,成为TensorFlow的默认API。