TensorFlow学习(1)---TensorFlow基本介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Miha_Singh/article/details/83786284

什么是TensorFlow?

先看看来自TensorFlow官方网站的介绍:

TensorFlow™ 是一个开放源代码软件库,用于进行高性能数值计算。借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU、GPU、TPU)和设备(桌面设备、服务器集群、移动设备、边缘设备等)。TensorFlow™ 最初是由 Google Brain 团队(隶属于 Google 的 AI 部门)中的研究人员和工程师开发的,可为机器学习和深度学习提供强力支持,并且其灵活的数值计算核心广泛应用于许多其他科学领域。

In my humble view,TensorFlow 是一个便于部署在各种各样平台上的框架,它对多种编程语言都有良好的接口,当我们想学习机器学习或者深度学习的时候,都可以使用这个工具来实现我们的想法。在TensorFlow中有几个很重要的概念,是了解TensorFlow的基础,以下就来一一介绍:

Tensor: 即张量,张量是对数据的一种描述,也就是我们平时说的·数组,不过这个张量包括0维数组,1维数组,2维数组,3维数组,4维数组,,,等。Tensor在TensorFlow中扮演的就是数据的角色,各式各样的数据都表示为Tensor,在进行计算的过程中Tensor被传向不同的结点,就像在数据流一样,这也是TensorFlow得名的原因。

Constant: 即常量,常量可以对应原始的数据,是不会再改变的数据,即恒定的张量。

Variable: 即变量,与Tensor不同,变量是一个符号,也是组成TensorFlow中计算结点的具体对象,每个变量就是一个对象,它代表操作的一部分,它能够用来接收数据,传递数据,是TensorFlow中计算和数据流动的载体和操作的载体。

计算图:TensorFlow的一个特点就是它采用数据流图就行计算。什么是数据流图呢?参看TensorFlow的官网。这里盗用官网的一张图:
在这里插入图片描述

结合刚才介绍的张量和变量,我们来分析一下这张图:
图中红色的输入以及黑线的蔓延代表着张量和张量的流动,也就是数据的流动,而数据每留至一个节点,这个节点就会变量,意味着这个节点需要的数据到达了。而每个节点可以是变量,也可以是一组操作。也就是说在TensorFlow中保存的是计算的定义,而不是每次计算的实际数据,毕竟每次计算时数据都可能会改变,而我们已经定义好的计算流程一般是不大会变化的。

Session: 即会话,简单地看,会话就是对操作的执行。那么是对什么操作呢?首先操作就是我们在计算图中看到的结点,也就是我们自己定义的变量或运算。在完成变量和操作的定义之后,我们就可以执行它们,即Session将数据流向计算图中的各个节点,并完成我们定义的操作。

那么怎么使用TensorFlow完成一次运算呢?分为两步:构建图和启动图。
构建图:构建图即完成我们对变量、常量的定义也就是计算图中计算结点的定义。
启动图:启动图即计算图的执行,也就是调用Session进行计算。

猜你喜欢

转载自blog.csdn.net/Miha_Singh/article/details/83786284