文章目录

  • 前世今生
  • 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发布版本历程:

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_pytorch

2015年同类型框架有:

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_动态图_02


Apacha孵化项目:新加坡国立大学 SINGA.

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_tensorflow_03

发展

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_动态图_04

2017年

TensorFlow从测试版本 变位1.0正式版本

分解到三个

增加 tfdbg

同时有了PyTorch0.1版本

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_深度学习_05

  • 比较TensorFlow1.x风格 VS PyTorch
  • pyspark tensorflow区别 pytorch和tensorflow2.0的区别_人工智能_06

  • TensorFlow2017年有以下不好方面,PyTorch因为有了0.1版本,所以有一些学者 转向了Pytorch
  • pyspark tensorflow区别 pytorch和tensorflow2.0的区别_tensorflow_07

2019TensorFlow2.0 is coming

  • 去掉了session概念,分支控制去掉自己if else 等自己命名体系,而没用python的代码.

编程风格对比 | 选择

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_人工智能_08

  • 项目数量对比:




    以上可以看出,截止2018年 TensorFlow借助 Google良好的生态圈;然而 Pytorch由于 Facebook的隐私丑闻;
    所以发展的并不理想.

开启TensorFlow2.0

所以,以便我们开启学习 TensorFlow2.0需要:

忘掉1.0一些特性,专注于算法 少关心底层实现.

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_pytorch_09

  • TensorFlow2.0生态库
    通过 function方法,进行了 静态图转化为 动态图.
  • 跟进:两者主修其一,学会其一——另外一个 自动就逐渐掌握.(因为相对来说 极其类似)
  • Keras逐渐淡出 —— 因为Google收购了Keras,不可能推出两款产品(这会然用户困扰。)
  • 其中如果有,也使用: tf.keras 进行操作—— tensorflow中 借鉴keras的API进行

为什么学习TensorFlow

  • GPU加速 —— 有矩阵并行加速效果
  • pyspark tensorflow区别 pytorch和tensorflow2.0的区别_人工智能_10

  • 自动求导
  • pyspark tensorflow区别 pytorch和tensorflow2.0的区别_tensorflow_11

  • 拥有众多神经网络API
    全连接 卷积层 一些列激活函数等
  • pyspark tensorflow区别 pytorch和tensorflow2.0的区别_pytorch_12

Pytorch

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_tensorflow_13


16年pytorch的后端(即 c和c++的实现)是基于 troch进行;18年pytorch基于 caffe2进行底层实现.前端API还是torch的模子——人们习惯了这么使用.

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_人工智能_14


后端自己间接参考theano,

收购后 加上了keras调用.

前端1,0静态图 是自己风格使用,后期2,0才逐渐有了动态图

前者更新时间 要晚于后者。

发展历程

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_tensorflow_15

动态图

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_人工智能_16


动态图建立 和 代码的一行行运行是同时进行的.

Torch API库多

pyspark tensorflow区别 pytorch和tensorflow2.0的区别_动态图_17