TensorFlow核心概念概览

TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。2015年它由Google发布并宣布开源。

它的名字来源于本身的工作原理,Tensor(张量)意味着一个N维的数组,Flow(流)就是流动。Tensorflow的运行过程就是张量在数据流图中流动的过程。

那么,什么是数据流图(Data Flow Graph)?

tensorflow 基本概念回顾_数组

它由点(node)和边(edge)组成。

其中,节点通常以圆、椭圆或方框表示,代表对数据的运算或某种操作。边是节点之间的连接,用带箭头的线表示,指向节点的边表示输入,从节点引出的边表示输出。输入可以是来自其他数据流图,也可以表示文件读取、用户输入。所以在本质上,TensorFlow的数据流图就是一系列链接在一起的函数构成,每个函数都会输出若干个值(0个或多个),以供其它函数使用。

除了上面两个概念,以下几个也很重要:

图(Graph):图描述了计算的过程,TensorFlow使用图来表示计算任务。

张量(Tensor):TensorFlow使用tensor表示数据。每个Tensor就是一个多维的数组。

操作(op):operation的缩写,一个op就是某节点上的一个操作,输入0个或多个Tensor,执行计算,产生输出0个或多个Tensor。

会话(Session):图必须在称之为“会话”的上下文中执行。会话将图的op分发到诸如CPU或GPU之类的设备上执行。

变量(Variable):运行过程中可以被改变,用于维护状态。


登录后复制

import tensorflow as tf# 创建两个常量节点node1 = tf.constant("hello")node2 = tf
.constant("world")# 创建一个 node3 节点,对上面两个节点执行 + 操作node3 = node1 + node2
# 打印一下 adder 节点print(node3)# 打印 adder 运行后的结果sess = tf
.Session()print(sess.run(node3))1.2.3.4.5.6.7.8.9.10.11.


  

输出:


登录后复制

Tensor("add:0", shape=(), dtype=string)b'helloworld'1.2.





结合上面的代码,现在我们总结一下TensorFlow的工作流程:

1)构建一个计算图,并初始化一些节点,比如我们的node1和node2。这个时候,并没有开始计算。

2)创建一个会话。这才是图计算开始的地方,也就是说,仅仅构建一个图,这些图不会自动执行计算操作,而是还要显式提交到一个会话去执行,也就是说,它的执行,是滞后的。

3)在会话中运行图的计算。把编译通过的合法计算流图传递给会话,这时张量(tensor)才真正“流动(flow)”起来。

4)关闭会话。当整个图无需再计算时,则关闭会话,以回收系统资源。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空