Tensorflow机器学习入门——深度学习框架汇总
- 定义:帮助深度学习开发的软件框架
- 意义:让程序员把精力集中在算法调优和改进。而不是具体编程
- 常用的有:TensorFlow、Caffe、PyTorch、MindSpore等
- TensorFlow:计算图为静态图
- 资料:
- 由Google大脑开发,基于DistBeliefshi,支持平台:CPU、GPU、TPU,编程风格为声明式编程
- TensorFlow程序的开发步骤:
- 使用Tensorflow提供的接口定义计算图
- 使用正常的python读取数据
- 提供数据给计算图、运行计算图、获得输出
- 几个重要概念:
- 计算图(Graph):
- 节点(Node):
- 数据节点:
- 占位符节点:tf.placeholder
- 常量节点:tf.constant
- 变量节点:tf.Variable
- 计算节点:
- 张量(Tensor):在计算图中体现为节点之间的连线,即边(edge)
- 占位符输出的张量:用于运行时提供数据接口
- 计算节点之间传递的张量:以计算图中某个张量为目的运行计算图,计算图会找到最小依赖图,根据输入计算结果
- 会话(Session):
- 常用的Python包:
- Numpy:这是用 Python 进行科学计算的基础包。它支持n维数组和矩阵的计算,还拥有大量的高级数学函数。这是 TensorFlow 所需的必要软件包,因此,使用 pip install tensorflow 时,如果尚未安装 Numpy,它将被自动安装。
- Matplolib:这是 Python 2D 绘图库。使用它可以只用几行代码创建各类图,包括直方、条形图、错误图、散点图和功率谱等。它可以使用 pip 进行安装:
- OS:这包括在基本的 Python 安装中。它提供了一种使用操作系统相关功能(如读取、写入及更改文件和目录)的简单便携方式。
- Pandas:这提供了各种数据结构和数据分析工具。使用 Pandas,您可以在内存数据结构和不同格式之间读取和写入数据。可以读取 .csv 和文本文件。可以使用 pip install 或 conda install 进行安装。
- Seaborn:这是一个建立在 Matplotlib 上的专门的统计数据可视化工具。
- H5fs:H5fs 是能够在 HDFS(分层数据格式文件系统)上运行的 Linux 文件系统(也包括其他带有 FUSE 实现的操作系统,如 macOS X)。
- PythonMagick:这是 ImageMagick 库的 Python 绑定。它是一个显示、转换和编辑光栅图像及矢量图像文件的库。它支持超过 200 个图像文件格式。它可以使用 ImageMagick 提供的源代码来安装。某些 .whl 格式也可用 pip install(http://www.lfd.uci.edu/%7Egohlke/pythonlibs/#pythonmagick) 来安装。
- TFlearn:TFlearn 是一个建立在 TensorFlow 之上的模块化和透明的深度学习库。它为 TensorFlow 提供更高级别的 API,以促进和加速实验。它目前支持最近的大多数深度学习模型,如卷积、LSTM、BatchNorm、BiRNN、PReLU、残差网络和生成网络。它只适用于TensorFlow 1.0 或更高版本。请使用 pip install tflearn 安装。
- Keras:Keras 也是神经网络的高级 API,它使用 TensorFlow 作为其后端。它可以运行在 Theano 和 CNTK 之上。添加图层只需要一行代码,非常用户友好,可以使用 pip install keras 来安装。
- 常用技术:
- Caffe
- PyTorch:计算图为动态图
- MindSpore:
- 华为开发 2018年
- 动态图模式:用于高效调试
- 静态图模式:用于高效运行