百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Tensorflow解说

liuian 2024-11-28 00:45 53 浏览

TensorFlow简介

本节将从五个方面对 TensorFlow 进行一个简单的介绍。包括 TensorFlow 是什么、为什么选择TensorFlow、TensorFlow 的发展、TensorFlow 能干什么以及 TensorFlow 的核心理念。

1. 什么是 TenosrFlow

TensorFlow 是一个开源软件库,用于各种感知和语言理解任务的机器学习。—— Wiki 百科

这种过于官方化的定义可能比较难于理解,我们在这里给出一个比较容易理解的解释:TensorFlow 是一个开源的机器学习的框架,我们可以使用 TensorFlow 来快速地构建神经网络,同时快捷地进行网络的训练、评估与保存

也正是因为 TensorFlow 是一个开源的软件库,因此只要我们安装了 TensorFlow,我们就可以使用import 的方式来引入

import tensorflow as tf

2. 为什么选择 TensorFlow 以及优缺点

谈到为什么选择 TensorFlow,有很多同学就会问“为什么不使用 PyTorch?”、“为什么不自己实现网络而必须使用框架呢?”等等一系列问题。

首先我们回答“为什么不自己去实现网络结构而必须使用框架”的问题:

实际上如果有能力实现神经网络结构,我们完全可以自己动手实现我们所需要的神经网络,但是这样会带来一个问题:工作量太大,我们会把我们大部分的精力花费在底层的构建而不是主要的模型的构建上。

在当下的潮流之中,使用框架是大势所趋,使用框架能够帮助我们节省很多的底层的、繁琐的、容易出错的工作。比如在 Web 开发之中会使用 Django 和 Spring Boot 等框架,在桌面开发中会使用 MFC、QT 等框架,而在机器学习领域我们可以选择使用 TensoFlow 框架。

另外通过使用框架,我们可以把我们的精力更多的放在上层的模型的构建之上,一方面可以帮助我们专注于高层次的工作,另一方面又可以帮助我们避免底级的一些错误。

现在我们可以回答第二个问题,为什么不使用其他的机器学习框架?

说到这里我们不得不说一下 TensorFlow 的优点,相比于其他的机器学习框架,Tensorflow 框架是最适用于工业部署的一个机器学习框架,换句话说,TensorFlow 非常适用于在生产环境中进行应用。下面我们来细数一下 TensorFlow 的优点。

- 整个项目开源;

- 文档非常全面而且包含中文教程,学习成本比较低;

- 其内部含有很多高阶神经网络API,我们可以用一个语句来生产一个网络;

- 使用其内部的TensorFlow Service可以实现快速上线部署;

- 得益于高阶API,使用TensorFlow进行神经网络开发非常迅速;

- 内部内置TesnorBoard工具,可以很好的进行可视化工作;

- 对移动设备的支持非常友好;

- TensorFlow内部内置分布式训练工具,开源很方便地进行分布式训练。

讨论了这么多优点,TensorFlow 就没有缺点吗?当然有,TensorFlow 也有一些显而易见的缺点:

- TensorFlow程序的调试较为困难,我们不能深入其内部进行调试;

- TensorFlow的许多高阶API导致我们修改我们自己的模型比较困难(相对而言);

- TensorFlow1.x与TensorFlow2.x的差别比较大,以前的代码迁移比较困难。

总结来说,如果你想进行神经网络的快速构建、训练与部署,那么 TensorFlow 是你非常好的选择,但是如果你想从事一些科研的方面的工作,那么 TensorFlow 可能并没有 Pytorch 那么容易驾驭。

3. TensoFlow的发展

很多人都知道 TensorFlow 是从 1.x 版本发展到 2.x 版本的,而且目前网络上很多 TensorFlow 的教程都还停留在 TensorFlow1.x 阶段。在这里,我便带领大家回顾一下 TensorFlow 的发展历程:

  • 从 2010 年开始,谷歌大脑团队便在其内部使用 DistBelief 框架进行机器学习的相关工作,后来经过不断地简化与重构逐渐形成了 TesnorFlow,这便是 TensorFlow 的前身,但是此时的 TensorFlow还没有开源;
  • 2015 年,年轻的 TensorFlow 正式开源,此时的 TensorFlow 依然处在 0.x 的非正式版本;
  • 一直到 2016 年 12 月期间,TensorFlow 逐渐支持了分布式、移动设备 与Windows 系统;
  • 2017 年,TensorFlow 正式发布了 1.0.0 版本,由此 TensorFlow 正式版发布;
  • 直到 2019 年期间,TensorFlow 逐步加入了 TPU、张量处理单元等工具;
  • 2019 年 10 月,TensorFlow2.0 正式发布,这也标志着 TensorFlow 进入了 2.0 时代。

在当前,TensorFlow 的最新稳定版本为 2.2 版本

由于 TensorFlow1.x 与 TensorFlow2.x 的差别较大,因此在我们的学习与使用当中,我们应当首先学习TensorFlow2.x 版本。

相比于TensorFlow1.x,TensorFlow2.x 最大的优点就是加入了 Keras,而TensorFLow 也是默认采用 Eager 模式来构建我们的模型,这对于一些初学者来说是巨大的福音,而这在TensorFlow1.x时代是没有办法实现的。

依托于谷歌强大的影响与号召力,TenorFlow 的用户群体非常巨大,而且使用 TensorFlow 得到的训练结果非常优秀,对于机器学习的初学者来说,这确实是一件不可多得的珍宝。

4. TensorFlow能干什么

其实这个问题在前面的概念中已经涉及了,TensorFlow主要负责机器学习的每一个步骤,包括:

- 模型的构建;

- 模型的训练;

- 模型的保存与加载;

- 模型的评估;

- 使用加速器提升性能;

- 在生产环境中部署网络;

- 对模型的数据进行可视化(TensorBoard);

- 其他功能。

通过这样的梳理我们可以发现,TensorFlow 可以满足我们在机器学习中的从模型构建到模型的部署的绝大部分的工作需求

5. TensorFlow的核心理念

前面介绍了这么多,我们现在可以深入 TensorFlow 内部来简单了解一下 TensorFlow 的核心理念。

简单来说, TensorFlow 的核心理念包括计算图与张量(Tensor)

5.1 计算图

在 TensorFlow 中,我们首先构建模型,TensorFLow会根据我们的模型来构建一个计算图,然后TensorFLow 会在该计算图中进行相应的运算、迭代与求梯度等操作,从而得到我们最终想要的结果。

下面是一个 TensorFlow 模型的计算图,目前诸位同学可以将其理解为模型图或者数据流动图

该图为在 TensorBoard 之中得到的计算图,其中的节点表示运算或者网络层,而线条表示数据流动。

5.2 张量

张量(Tensor)就是 TensorFlow 的名字的由来之一,TensorFLow 顾名思义就是张量流动的意思,由此可见张量为 TensorFlow 的最核心的概念之一。

张量在TensorFLow之中以数组的形式存储,张量的主要组成要素包括:

  • 名称(name);
  • 形状(shape);
  • 类型(dtype)。

简单的理解,我们可以将张量看作多维数组,因为是多维数组,因此可以包含三维或者三维以上的维度,对于初学者来说可能不是特别友好。

在 TensorFLow 之中我们可以很轻松的构建一个张量,比如以下代码:

x = tf.ones((64, 28, 28, 3))

由此我们构建了一个思维张量,他的第一维是 64 个维度,第二维与第三维都是 28 个维度,第四维是3 个维度。

对于二维张量,我们可以理解为一个平面;对于三位数据,我们可以理解为一个空间;而对于四维数据我们可以理解为一个在三维空间的外面又增加了一个维度;五维张量则是又增加一个维度......

在TensorFlow之中我们一般将第一维数据作为批大小来处理(Batch_Size),也就是一批数据中含有多少个样本子数据。更一般的,在不确定批大小的情况下,我们直接将第一维设置为 None,比如:

x = tf.ones((None, 28 ,28, 3))

总结

TensorFlow 是一个相对比较完整的机器学习框架,无论是对于初学者还是开发人员来说都是非常不错的选择。如果想要入门机器学习或者在机器学习方面有所深造,那么 TensorFLow 是非常不错的选择。

相关推荐

装系统教程win7用u盘(用u盘win7系统安装教程)

首先,需要准备一个容量不小于4GB的U盘,并下载正版的Windows7系统镜像文件。接着,使用专业的U盘制作工具将系统镜像文件写入U盘中,并将U盘插入需要安装系统的电脑中。在开机时按下电脑的启动键,...

邮件格式qq邮箱格式(邮箱的格式qq邮箱的格式)
  • 邮件格式qq邮箱格式(邮箱的格式qq邮箱的格式)
  • 邮件格式qq邮箱格式(邮箱的格式qq邮箱的格式)
  • 邮件格式qq邮箱格式(邮箱的格式qq邮箱的格式)
  • 邮件格式qq邮箱格式(邮箱的格式qq邮箱的格式)
苹果16突然黑屏关机(苹果11突然黑屏)

苹果手机突然黑屏但是没关机的原因:一般情况下,死机黑屏都是软件系统原因造成的,可能是由于你安装的软件内部冲突所导致的。严重的时候还会花屏重启。还有可能就是手机使用时间长,热量散发不及时。只要同时按住关...

子网掩码和网关怎么填(子网掩码与网关怎么设置)

1、以WIN10系统为例,电脑的ip地址、默认网关以及子网掩码可以通过进入到该电脑的网络连接属性界面进行填写。打开属性界面以后,选择手动。然后输入正确的编码即可(其中的默认网关与路由器IP地址相同)。...

windows10不激活影响使用吗(win 10不激活有什么影响)

windows10不激活能用一般情况下,不激活的确可以正常使用,但是会有一些功能受到限制。具体的限制如下所示:首先,您的屏幕右下角会显示“激活Windows”的水印;其次,您无法在“个性化”下使用任...

pdf转换器免费(pdf转换器在线版)
pdf转换器免费(pdf转换器在线版)

1.可检索内容的PDF(内容可以用鼠标选中的非双层PDF)文件,推荐用下面软件转换:PDFToWordConverter,是一款将AdobePDF文档转换成Word文档的工具软件,它支持文字,图像及其它内容的输出。这款软件可以...

2025-12-24 06:55 liuian

office2013激活工具win11(office2013激活工具toolkit)

用专门的激活工具就可以啦。1、待安装完Office2013后,解压并运行“MicrosoftToolkit.exe”程序,在弹出的程序界面中点击“OfficeButton”按钮以便打开“Office破...

手机登录126邮箱网页登录入口

www.126.com126邮箱拥有3G超大存储空间,支持超大2G附件,采用了创新Ajax技术,同等网络环境下,页面响应时间最高减少90%,垃圾邮件及病毒有效拦截率超过98%和99.8%。126邮箱采...

全国中高风险地区最新名单(全国中高风险地区最新名单7.29)

浦东新区康桥镇环桥路1488弄小区,黄浦区南京东路街道西藏中路180号高盛商厦5楼,静安区共和新路街道沪太路785号B座501西区天空音乐量贩式KTV,松江区小昆山镇平原街86弄平原新村,虹口区北外滩...

爱吾游戏宝盒破解版(爱吾游戏宝盒破解版2023最新版本)

爱吾游戏宝盒闪退有以下原因:可能是游戏与手机系统不兼容,卸载游戏后重新安装最新版本,或者升级手机系统,2.有的游戏程序会与其它正在开启的应用有冲突,将后台运行的应用全部关闭再重新启动游戏就可以了要降低...

win8激活码免费领取(windows8激活码免费)

1、首先我们下载一个能够永久激活win8系统的KMSpico激活工具。2、然后将“KMSpico_setup”双击打开进行安装。3、安装目录随便选择就行了,安装完成之后找到EXE文件,以管理员身份运行...

微信安装官方正版(2025版微信官方正版)

必须先安装微信,如果自己的微信号和密码忘了可以通过绑定的手机号码进行找回,操作步骤如下:1、在手机上点击打开微信,来到登陆窗口,点击”找回密码“。2、在找回密码界面,选择”通过手机号码找回”,然后...

大白菜u盘启动怎么装系统(大白菜u盘启动盘怎么装系统win10)

  1、根据上面的教程制作好大白菜pe启动盘,然后将下载的操作系统iso文件直接复制到U盘的GHO目录下;  2、在需要装系统的电脑上插入U盘,重启后不停按F12、F11、Esc等快捷键打开启动菜单,...

360软件管家使用方法(360软件管家使用方法视频)

步骤:1、只要在提示条上点击“安全保存”按钮,即可方便快捷地将网站的帐号密码保存下来,且网站会出现在登录管家主面板的网站列表中。2、登录360安全浏览器后可使用云加密的网站列表,帐号密码安全性进一步提...

originos下载(originos官方下载地址)

已经在官网上进行下载。originos3.0从目前已经在vivo手机的官网中可以进行下载。先登录进vivo官网,然后再找到系统的专区,找到最新版本的originos3.0,然后选择你手机的型号。进行...