文章目录
- 前世今生
- TensorFlow发展历程
- Google Jeff发布版本历程:
- 2015年同类型框架有:
- 发展
- 2017年
- 2019TensorFlow2.0 is coming
- 编程风格对比 | 选择
- 开启TensorFlow2.0
- 为什么学习TensorFlow
- Pytorch
- 发展历程
- 动态图
- Torch API库多
近两年来,Google和Facebook等秉持开源理念,推动着AI工程工具越来越强大
最近由于学术进程,一方面Pytorch越来越多地开始用于学术中来,另一方面 之前的模型都是基于tensorflow1.x的,而且TensorFlow2.0升级迭代似乎受到了较多的负面评价.
所以,现在通过对于工程框架来龙去脉的了解,进一步明晰每个框架的优缺点,预测未来需要掌握和使用的框架.主力攻克一个框架,辅助灵活框架,快速迭代学术代码开发过程.
前世今生
TensorFlow发展历程
Google Jeff发布版本历程:
2015年同类型框架有:
Apacha孵化项目:新加坡国立大学 SINGA.
发展
2017年
TensorFlow从测试版本 变位1.0正式版本
分解到三个
增加 tfdbg
同时有了PyTorch0.1版本
- 比较TensorFlow1.x风格 VS PyTorch
- TensorFlow2017年有以下不好方面,PyTorch因为有了0.1版本,所以有一些学者 转向了Pytorch
2019TensorFlow2.0 is coming
- 去掉了session概念,分支控制去掉自己if else 等自己命名体系,而没用python的代码.
编程风格对比 | 选择
- 项目数量对比:
以上可以看出,截止2018年 TensorFlow借助 Google良好的生态圈;然而 Pytorch由于 Facebook的隐私丑闻;
所以发展的并不理想.
开启TensorFlow2.0
所以,以便我们开启学习 TensorFlow2.0需要:
忘掉1.0一些特性,专注于算法 少关心底层实现.
- TensorFlow2.0生态库
通过 function方法,进行了 静态图转化为 动态图. - 跟进:两者主修其一,学会其一——另外一个 自动就逐渐掌握.(因为相对来说 极其类似)
- Keras逐渐淡出 —— 因为Google收购了Keras,不可能推出两款产品(这会然用户困扰。)
- 其中如果有,也使用: tf.keras 进行操作—— tensorflow中 借鉴keras的API进行
为什么学习TensorFlow
- GPU加速 —— 有矩阵并行加速效果
- 自动求导
- 拥有众多神经网络API
全连接 卷积层 一些列激活函数等
Pytorch
16年pytorch的后端(即 c和c++的实现)是基于 troch进行;18年pytorch基于 caffe2进行底层实现.前端API还是torch的模子——人们习惯了这么使用.
后端自己间接参考theano,
收购后 加上了keras调用.
前端1,0静态图 是自己风格使用,后期2,0才逐渐有了动态图
前者更新时间 要晚于后者。
发展历程
动态图
动态图建立 和 代码的一行行运行是同时进行的.
Torch API库多