初步了解TensorFlow2.0
为什么要学习TensorFlow?
- 深度学习能够更好地抽取数据中的规律,从而给公司带来更大的价值
- TensorFlow是强大且灵活的开源框架
- 使用广泛
- 2.0更加强大、易用、成熟
TensorFlow是什么?
- 是Google的开源软件库
- 采用数据流图,用于数值计算
- 支持多平台——GPU、CPU、移动设备
- 最初用于深度学习,后越来越通用
数据流图是什么?
- 节点:处理数据
- 线:节点之间的输入输出关系,表示节点和节点之间的数据依赖
- 线上运输张量(tensor)
- tensor:是所有n维数据;数字、向量、矩阵、高维矩阵
- 节点被分配到各种计算设备上运行
TensorFlow的特性
- 高度灵活性,体现在数据流图上,神经网络上
- 可移植性
- 产品和科研结合,封装较好,可直接作为产品使用
- 自动求微分,反向传播对微分的求解
- 多语言支持
- 性能最优化,运行快
2.0的主要特性
- 对Keras、eager mode进行更简单的模型构建
- 鲁棒的跨平台模型部署
- TensorFlow服务
-直接通过HTTP/REST或者GRPC/协议缓冲区 - TensorFlow Lite——可部署在Android、iOS、嵌入式系统上
- TensorFlow.js——在JavaScript中部署模型
- 其他语言:C、java、Go、C#、Rust、Julia、R等
- TensorFlow服务
- 强大的研究实验
- 清除不推荐使用的、重复的API
- 2.0架构

- 2.0开发流程
- 使用tf.data加载数据
- 使用tf.keras构建模型,也可以用premade estimator来验证模型
- 使用TensorFlow hub进行迁移学习 - 使用eager mode进行运行和调试
- 使用分发策略来进行分布式训练
- 导出到SavedMode
- 使用TensorFlow Serve、TensorFlow Lite、TensorFlow.js部署模型
- 强大的研究实验
- Keras功能API和子类API,允许创建复杂的拓扑结构
- 自定义训练逻辑,使用tf.GradientTape和tf.custom_gradient进行更细粒度的控制
- 低层API自始至终可以和高层结合使用,完全是可定制
- 添加高级扩展:Ragged Tensors、Tensor2Tensor等

浙公网安备 33010602011771号