1. TensorFlow是什么
TensorFlow是Google的开源软件库,有以下特点:
- 采取数据流图,用于数值计算
- 支持多种平台–FPU, CPU, 移动设备
- 最初用于深度学习,变得越来越通用
TensorFlow的特性:
- 高度的灵活性,体现在数据流图上
- 真正的可移植性,可以在海量的设备上进行移植
- 产品和科研结合
- 自动求微分
- 多语言支持,支持python,Java,C++, R等
- 性能最优化
2. TensorFlow1.0与2.0架构
TensorFlow1.0的主要特性
- 对XLA支持,XLA为Accelerate Linear Algebra, 其对TensorFlow的训练速度提升了58倍。XLA具有很强的移植性,可以在移动设备中运行
- 引入更高级别的API—tf.layers/ tf.metrics /tf.losses/ tf.keras
- TensorFlow调试器
- 支持docker镜像,引入TensorFlow serving服务
TensorFlow1.0的架构图:
TensorFlow 2.0的主要特性
- 使用tf.keras和eager mode进行更加简单的模型构建
- 鲁棒的跨平台模型部署
- 强大的研究实验
- 清楚不推荐使用的API和减少重复来简化API
TensorFlow 2.0的架构图:
TensorFlow 2.0相对于TensorFlow 1.0简化了模型开发流程:
- 使用tf,data加载数据
- 使用tf.keras构建模型,也可以使用premade estimator来验证模型
- 使用TensorFlow hub进行迁移学习
- 使用eager mode进行运行和调试
- 使用分发策略来进行分布式训练
- 导出到savedmodel
- 使用TensorFlow Serve, TensorFlow Lite, TensorFlow.js部署模型
3. TensorFlow环境配置
TensorFlow的配置比较简单,以Windows的安装为例:
- 首先要安装Anaconda
- 打开anaconda prompt,并安装TensorFlow 2:
TensorFlow2.0 CPU版本的安装指令
conda install tensorflow=2.0.0
TensorFlow2.0 GPU版本的安装指令
conda install tensorflow-gpu=2.0.0
- 在prompt环境中进行测试:
- 在jupyter notebook中测试: