文章目录
TF简介
一、数据流图
- 节点 数据处理
- 线 节点的输入和输出关系
- 线上运输张量
TF版本
一、历史版本
- 2015.11 开源
- 2015.12 v0.6 支持gpu和python3.3
- 2016.04 v0.8 支持分布式
- 2016.11 v0.11 支持windows
- 2017.02 v1.0 性能和API改进
- 2017.04 v1.1 集成keras
- 2017.08 v1.3 高级API,预算估计器等,支持TPU
- 2017.11 v1.5 eager, TF lite对移动端的支持
- 2018.03 TF.hub TF.js TF extened(TFX)
- 2018.05 v1.6 cloud tpu与管道模块
- 2018.06 v1.8 新分布式策略API, 概率编程工具
- 2018.08 v1.10 集成cloud big table
- 2018.10 v1.12 侧重于可用性的api改进
- 2019.03 v2.0
二、TF1.0
1.TF1.0特性
- XLA accelerate linear algebra
- 训练速度提升x58
- 可在移动设备运行
- 引入高级别API tf.layers/tf.metrics/tf.losses/tf.kreas
- TF调试器
- 支持docker,引入TF serving服务
2.TF1.0架构
三、TF2.0
1.TF2.0特性
- 使用tf.keras和eager mode 使得模型构建更加简单
- 鲁棒的跨平台模型部署
- 强大的研究实验
- 清除不推荐使用的API和减少重复API
2.TF2.0架构
3.简化开发流程
4.跨平台模型部署
5.强大研究实验
四、TF vs PyTorch
1.入门时间
2.图创建和调试
例子:1+1/2+1/22+…+1/250
TF1.0
import tensorflow as tf
a = tf.Variable(0.)
b = tf.Variabel(1.)
add_op = tf.assign(a+b)
div_op = tf.assign(b/2)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(50):
sess.run(add_op)
sess.run(div_op)
print(a.eval())
TF2.0
import tensorflow as tf
a = tf.Variable(0.)
b = tf.Variable(1.)
for i in range(50):
a = a + b
b = b / 2
print(a.numpy())
PyTorch
import torch
a = torch.Tensor([0.])
b = torch.Tensor([1.])
for i in range(50):
a = a + b
b = b / 2
print(a)