TensorFlow学习笔记:3、TensorFlow基本概念

TensorFlow学习笔记:3、TensorFlow基本概念

3.1 计算图与operation

Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow 代表着张量从图象的一端流动到另一端的计算过程,是将复杂的数据结构传输至人工智能神经网中进行分析和处理的过程。

TensorFlow 使用图(Graphs)来表示计算任务,图中的节点称之为 op(operation),一个 op 可以获得 0 个或多个张量(Tensor),通过创建会话(Session)对象来执行计算,产生 0 个或多个Tensor。所以,TensorFlow 的工作模式分为以下两步:定义计算图和在session中运行计算图。

类比:一个神经元有多个输入,一个或者多个输出。这里的op可以看作神经元,tensor可以看作输入的数据。

In TensorFlow terminology, a Tensor is a typed multi-dimensional array. For example, you can represent a mini-batch of images as a 4-D array of floating point numbers with dimensions [batch, height, width,channels].

tensor是一个数组,每个数组元素是多维的,其实就是一个矩阵。

3.2 TensorFlow程序设计基本步骤

TensorFlow程序通常被组织成一个构建阶段和一个执行阶段。在构建阶段,op 的执行步骤被描述成一个图。在执行阶段,使用会话执行执行图中的op。

(1)1阶段:如何构建图?

  • 1.构建图从创建op开始。有些op的创建是不需要input的,比如Constant。这样的op被成为源op(source op)。
  • 2.在python中op对象是由op构造器(ops constructors)创建的。op构造器创建一个op对象时可以传递一个源op作为待构造op对象的输入。
  • 3.op对象被op构造器创建后是作为一个node加入到graph中的。TensorFlow Python 库有一个默认图 (default graph), op 构造器可以为其增加节点。这个默认图对许多程序来说已经足够用了。

总结:因为graph是由op对象组成的,所以构建图的过程其实就是创建op对象的过程,以及如果将这些个op对象连接起来(比如某个op对象作为另外某个op对象的输入)的过程。

(2)2阶段:图构建好了,如何执行?

  • 1.因为graph需要在session中启动。所以为了启动一个graph,第一步就是创建session对象。
  • 2.sessoin对象创建的时候如果不制定graph,则使用默认图(default graph)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端说吧

css笔记 - animation学习笔记(二)

from - to 等价于 0% - 100% 但是优先使用0% - 100%,因为浏览器兼容性还好点

422
来自专栏jojo的技术小屋

原 荐 CSS3 transform 引起z

1714
来自专栏AI派

Numpy 修炼之道 (9)—— 广播机制

我们都知道,Numpy中的基本运算(加、减、乘、除、求余等等)都是元素级别的,但是这仅仅局限于两个数组的形状相同的情况下。

2853
来自专栏深度学习之tensorflow实战篇

tensorflow(一)windows 10 64位安装tensorflow1.4与基本概念解读tf.global_variables_initializer

一.安装 目前用了tensorflow、deeplearning4j两个深度学习框架, tensorflow 之前一直支持到python 3.5,目前以更新...

3566
来自专栏前端说吧

css笔记 - 张鑫旭css课程笔记之 relative 篇

限制描述:absolute设置了方位值时,这些方位值是相对于position不为static的最近的父元素来定位的。如果父元素设置了relative,方位值就会...

502
来自专栏jojo的技术小屋

原 荐 CSS3 transform 引起z

作者:汪娇娇 时间:2017年9月5日 单纯的z-index,可以通过设置数值的大小来决定层级的高低,但一涉及transform,z-index就失效了,为什么...

3088
来自专栏null的专栏

机器学习算法实现解析——word2vec源码解析

在阅读本文之前,建议首先阅读“简单易学的机器学习算法——word2vec的算法原理”(目前还没发布),掌握如下的几个概念: 什么是统计语言模型 神经概率语言模型...

5187
来自专栏Linux驱动

LeetCode-391. 完美矩形(使用C语言编译,详解)

链接:https://leetcode-cn.com/problems/perfect-rectangle/description/ 题目 我们有 N 个与坐标...

3006
来自专栏hightopo

基于 HTML5 Canvas 实现的文字动画特效

1812
来自专栏一“技”之长

Android开发中基础动画技巧的应用 原

        我是先入门iOS的移动开发者,提到动画开发,iOS开发者很容易联想到3种方式,UIImageView的帧动画,UIView层的属性动画和Core...

812

扫码关注云+社区