TensorFlow的运行机制

原创 2018年04月15日 20:41:39
TensorFlow的命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。TensorFlow是张量从图的一端流动到另一端的计算过程,这也是TensorFlow的编程模型。
一 运行机制
TensorFlow的运行机制属于“定义”和“运行”相分离。从操作层面可以抽象为两种:模型的构建和模型的运行。

二 基本概念
张量(Tensor):数据,即某一类型的多维数组。
变量(Variable):常用于定义模型中的参数,是通过不断训练得到的值。
占位符(placeholder):输入变量的载体。可以理解为定义函数时的参数。
图中的节点操作(OP):即一个OP获得0个或多个tensor,执行计算,输出额外的0个或多个tensor。

三 说明
这些概念都是在一个叫“图”的容器中完成的。关于“图”,有以下几点需要理解。
一个“图”代表一个计算任务。
在模型运行的环节中,“图”会在会话(session)里被启动。
session将图的OP分发到如CPU或GPU之类的设备上,同时提供执行OP的方法。这些方法执行后,将产生的tensor返回。在python语言中,返回的tensor是numpy ndarray对象;在C和C++语言中,返回的tensor是TensorFlow::Tensor实例。

四 session和图的工作关系
五 三种场景
1 训练场景
是实现模型从无到有的过程,通过对样本的学习训练,调整学习参数,形成最终模型。其过程是将给定的样本和标签作为输入节点,通过大量的循环迭代,将图的中的正向运算得到输出值,再进行反向运算,以更新模型中的学习参数,最终使模型产生的正向结果最大化地接近样本标签。这样就得到一个可以拟合样本规律的模型。
2 测试场景和使用场景
测试场景是利用图的正向运算得出的结果与真实值进行比较的差别。
使用场景也是利用图的正向运算得到结果,并直接使用。
这两场景的运算过程是一样的。和正常编程用到的函数特别相似。
在函数中,可以分为实参、形参、函数体和返回值。
同样在模型中,实参就是输入的样本,形参就是占位符,运算过程就相对于函数体,得到的结果相对于返回值。

六 数据的流向机制
注入机制(feed):通过占位符向模式中传入数据。
取回机制(fetch):从模式中得到结果。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/79952964

TensorFlow 从入门到精通(七):TensorFlow 运行原理

通过几个例程,我们逐渐对 TensorFlow 建立了感性认识。本文将进一步从内在原理进行深入理解,进而为阅读源码打好基础。 1. 编程模型 TensorFlow 计算被抽象为包括若干节点的有向图...
  • kkk584520
  • kkk584520
  • 2016-06-08 12:47:39
  • 16759

TensorFlow官方文档学习|TensorFlow运作方式入门

TensorFlow官方文档学习|TensorFlow运作方式入门   目的 data_sets.train 55000个图像和标签(labels),作为主要训练集。 data_...
  • darlingwood2013
  • darlingwood2013
  • 2017-03-12 19:53:09
  • 997

浅析PHP运行机制

对于php来说,了解它的运行机制,有助于我们写出高效健壮的代码,会更清楚程序的代码到底该怎么去写,如果是做php扩展,那了解它的运行机制就更是必须的了。   一、 运行环境:LAM...
  • alibo2008
  • alibo2008
  • 2014-03-18 17:49:23
  • 2517

Struts2运行机制

一、概述      Struts2的核心是一个Filter,Action可以脱离web容器,那么是什么让http请求和action关联在一起的,下面我们深入源码来分析下Struts2是如何工作的。...
  • huxian1234
  • huxian1234
  • 2013-12-03 04:14:15
  • 1834

C#的运行机制

.net框架下的所有语言,实际上都是把代码翻译成中间语言(MSIL)
  • vLinker
  • vLinker
  • 2014-09-15 15:43:14
  • 614

Android运行机制详解

Android应用程序是用Java语言写的,通过aapt工具把应用程序所需要的任何数据、资源文件打包成apk文件,这个文件是一个将应用安装到手机上的一个载体。每个android应用程序存在于不同的世界...
  • lj845360179
  • lj845360179
  • 2018-03-08 11:20:40
  • 329

SpringMVC 运行机制

  • mexican_jacky
  • mexican_jacky
  • 2015-12-05 19:44:15
  • 492

APP在Android中的运行机制(一)

(声明:此文从Android官方文档翻译摘录而来,可能存在翻译错误) 原文地址:http://developer.android.com/guide/components/fundamentals....
  • shiyuan0
  • shiyuan0
  • 2015-01-05 16:19:54
  • 1326

c#运行机制

C#与Java一样,同样有虚拟机,但是他的虚拟机是CLR(公共语言运行时)。一个C#文件,首先会由C#编译器编译成低级别的中间语言IL,然后由C#虚拟机也就是公共语言运行时(CLR)即时编译(JIT)...
  • feipeixuan
  • feipeixuan
  • 2015-08-05 19:12:32
  • 709

SpringMVC运行机制

1、客户端发送HTTP请求到服务器 2、SpringMVC的核心DispatcherServlet将请求交给HandlerMapping处理 3、HandlerMapping通过查询机制找到处理当...
  • z100871519
  • z100871519
  • 2015-03-12 15:00:06
  • 510
收藏助手
不良信息举报
您举报文章:TensorFlow的运行机制
举报原因:
原因补充:

(最多只允许输入30个字)