热门标签 | 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


推荐阅读
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • 本文介绍了在安装或运行 Python 项目时遇到的 'ModuleNotFoundError: No module named setuptools_rust' 错误,并提供了解决方案。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
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社区 版权所有