热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

作者主页(文火冰糖的硅基工坊):https:blog.csdn.netHiWangWenBing本文网址:https:blog.csdn.netHiW

作者主页(文火冰糖的硅基工坊):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


推荐阅读
author-avatar
速度向前迈进
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有