目录
概述
机器学习
TensorFlow
基本概念
TensorFlow2.0的架构
Tensorflow2.0简化的模型开发流程
概述
机器学习
机器学习(Machine Learning)是让计算机能够自动地从某些数据中总结出规律,并得出某种预测模型,进而利用该模型对未知数据进行预测的方法。
机器学习的分类:
- 有监督学习
- 无监督学习
- 半监督学习
- 强化学习
具体如下:
TensorFlow
基本概念
计算图
计算图(Computation Graph)是一个有向图(Directed Graph),是对TensorFlow中计算任务的抽象描述,也称为数据流图(Data Flow Graph)。
TensorFlow 1.x采用的是静态计算图机制,TensorFlow 2.x采用的是动态计算图机制。
会话
会话(Session)是客户端程序与TensorFlow系统进行交互的接口。在1.x版本中,我们需要定义好的计算图必须在会话中执行;而在2.x版本中,是因为采用了动态计算图机制,就不需要在会话中执行计算图。
运算操作和运算核
运算操作:计算图中的每一个节点就是一个运算操作。
运算核:是一个运算操作在某个具体的硬件(比如GPU或CPU)上的实现。
在TensorFlow中可以通过注册机制加入新的运算操作或者为已有的运算操作添加新的运算核。
张量(Tensor)
可以看做一个多维的数组或列表,它是对矢量和矩阵的更高维度的泛化,张量由“tf.Tensor"类定义。
TensorFlow2.0的架构
1.x到2.x的变化:
- API精简
- 动态计算图
- 取消全局变量
- 使用函数而不是会话
Tensorflow2.0简化的模型开发流程
- 使用tf.data加载数据。
- 使用tf.keras构建模型,也可以使用premade estimator来验证模型。使用tensorflow hub进行迁移学习。
- 使用eager mode进行运行和调试。
- 使用分发策略来进行分布式训练。
- 导出到SavedModel。
- 使用Tensorflow serve、Tensorflow Lite、Tensorflow.js部署模型。