[TensorFlow系列-3]:初学者是选择Tensorflow2.x还是1.x? 2.x与1.x的主要区别?

作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/119547495


目录

1. 为什么会有这个问题?

2.  给初学者的提醒

3. Tensorflow的总体架构

第3章 Tensorfow2.x与1.x的主要差别

(1)归属软件层次的差异

(2)角色和立足点的差别

(3)学习和理解难度差异

(4)内部的动态与静态结构差异

(5)基础概念与基础数据结构的差异

(6)命名空间的差异

(7)API管理

参考:


1. 为什么会有这个问题?

深度学习的框架演进是软件演进的正常过程,为什么会有这个疑问呢?选择最新版本不就可以了?

之所以提这个问题,是因为Google Tensorflow演进的过程中,出现的这两个大的版本2.x与1.x,之间有比较大的区别,这个差别甚至超过了Python3.x与Python2.x的区别。

是从使用者的角度来看,这两个版本的差别较大。因此有必要了解一下这两个版本之间的主要异同。

2.  给初学者的提醒

对于初学者,建议选择tensorflow2.x的版本和相关的视频教程。

Tensorflow2.0是在2019年十月发布的,初学者在选择网络视频课程是需要留意,在这个时间点之前的视频教程和书籍,基本都是基于Tensorflow1.0的。

3. Tensorflow的总体架构

相同点和联系:

Tensorflow2.0和1.0都是Google Tensorflow的深度学习框架,是同一个框架的的演进过程。

第3章 Tensorfow2.x与1.x的主要差别

(1)归属软件层次的差异

从软件架构上来看,Tensorfow1.0提供给使用者的接口是底层接口,主要集中在Tensorflow的Python Frontend层和layers,这些层是在TensorFlow底层算法引擎的基础之上,使用Python的封装,这导致1.0的使用比较麻烦,理解难度较大。当然1.0也支持Keras接口,但需要用户自己选择。

而Tenorflow2.x提供给使用者的接口主要在Keras模型之上,Keras对底层的API进行了封装,使用根据的简洁和简单。2.X版本中默认使用keras作为高级API.

该差异是后续差异的背后的根本动因。

(2)角色和立足点的差别

tensorflow1.x像一个平台工具,只是借用了python语言,tensorflow 1.X本身更像是一种描述神经网络模型的语言。也就是说tensorflow是tensorflow为立足了,扩展出了Python的外皮。

Tensorflow2.X版本与Pytorch一样,更像python的一个包,它以Python立足点,扩展除了tensorflow2的深度学习框架的包。

上述立足和立足点的变化,导致了其呈现给用户的接口是大不相同。

(3)学习和理解难度差异

Tenorflow1.x比Tenorflow2.x难度大。

(4)内部的动态与静态结构差异

1.X默认方式是先要定义一个静态结构,然后训练操作流程时独立的。这样运行效率比较高,但是调试起来费劲。最直观的一点,就是一些在函数中预先定义静态结构“彷佛”是不执行的,而写在后面的语句彷佛先执行了一样。

2.X默认采用动态图处理的方式,和python风格更接近(Eager execution)。

(5)基础概念与基础数据结构的差异

1.X版本有很多额外的概念比如,graph,session,run,placeholder,feed_dict这些,这些其实和静态模型构建息息相关。

在2.X版本中不再使用了。

(6)命名空间的差异

 1.X中的变量空间和命名空间使得变量管理比较复杂,并大量依赖隐式全局名称空间(这点类似c++),还有一些必须的初始化比如`tf.global_variables_initializer()`, 有类像C++语言的库。

2.X消除了所有这些机制,支持跟踪变量, 才真正像一个Python语言的库。

(7)API管理

1.X中一些API很难找,而且存放位置分类有很多争议。

2.X版本重新归纳整理了API。


参考:

官方学习网站:https://tensorflow.google.cn/learn


作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/119547495

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文火冰糖的硅基工坊

你的鼓励是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值