TensorFlow核心概念及基本使用

TensorFlow核心概念

  综述:TensorFlow中的计算可以表示为一个有向图,或称计算图,其中每一个运算操作将作为一个节点,节点间的链接叫做边。这个计算图描述了数据的计算流程,它也负责维护和更新状态,用户可以对计算图的分支进行条件控制和循环操作。计算图中的每一个节点可以有任意多个输入和输出,每一个节点描述了一种运算操作,节点可以算是运算操作的实例化。在计算图的边中流动的的数据被称为张量。

  1.计算图

  TensorFlow是一个通过计算图的形式来表述计算的编程系统。每一个计算都是计算图的一个节点,而节点间的边描述了计算之间的依赖关系。

  2.TensorFlow的数据模型-张量

  TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通.

  3.TensorFlow的运行模型-会话

  会话(Session)用来执行定义好的运算。会话拥有并管理TensorFlow程序运行时的所有资源。当所有计算完成后需关闭会话来帮助系统回收资源。使用会话的方式一般有两种:

   (1)sess = tf.Session()

    sess .run(...)

    sess.close()

    //因异常退出可能会未执行关闭会话的语句

   (2)with tf.Session() as sess:

    sess.run(...)

    //执行完自动关闭会话

  4.变量

  变量是一类特殊的运算操作,它可以将一些需要保留的tensor储存在内存或显存中,比如神经网络中的系数。当训练模型时,用变量来存储和更新参数。通常会将一个统计模型中的参数表示为一组变量. 例如, 你可以将一个神经网络的权重作为某个变量存储在一个 tensor 中. 在训练过程中, 通过重复运行训练图, 更新这个 tensor.

    

TensorFlow的基本使用

  1.构建图

    import tensorflow as tf

    # 创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点

    # 加到默认图中. 

    # 构造器的返回值代表该常量 op 的返回值.

    matrix1 = tf.constant([[3., 3.]])

    # 创建另外一个常量 op, 产生一个 2x1 矩阵.

    matrix2 = tf.constant([[2.],[2.]])

    # 创建一个矩阵乘法 matmul op , 把 ‘matrix1‘ 和 ‘matrix2‘ 作为输入.

    # 返回值 ‘product‘ 代表矩阵乘法的结果.

product = tf.matmul(matrix1, matrix2)

  2.在一个会话中启动图

  这个使用在上一点会话中有提到的两种方法。

原文地址:https://www.cnblogs.com/miracle-Z/p/8988701.html

时间: 2024-08-04 10:17:58

TensorFlow核心概念及基本使用的相关文章

tensorflow核心概念之op

TF中的op代表了对"操作"的抽象,说它抽象是因为,op仅仅说明了操作是做什么用的,但没有说明具体怎么做.举个例子,MatMul是一个操作,它表示了矩阵乘法,但并不包含矩阵乘法的具体实现,因为我们知道,在CPU和GPU上,矩阵乘法的高效率实现是完全不同的.为了把不同设备上的实现细节隐藏起来,为相同的计算提供统一的对外表示,TF提出了op的概念. 为了方便序列化,TF中很多核心概念定义在proto文件中,操作的定义OpDef放在op.proto(/tensorflow/core/fram

TensorFlow.js 的核心概念

如果你还不够了解 TensorFlow.js,可以右转:here.下面是关于一些关于 TensorFlow.js 核心概念. 由于现在 TensorFlow.js 的资料仅限于官方,也没什么中文资料,这篇由LiNPX整理.收集与翻译 张量(tensor)是一个可用来表示在一些矢量.纯量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积.外积.线性映射以及笛卡儿积.其坐标在?n ?维空间内,有? n^r个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规

Hadoop hdfs&mapreduce核心概念

1.HDFS(分布式文件系统体系) 1.1.NameNode:(名称节点) Hdfs的守护程序 记录文件是如何分割成数据块的,以及这些数据块被存储到了哪些节点上 对内存和I/O进行集中管理 是个单点,发生故障将使集群崩溃 1.2.SecondaryNamenode(辅助名称节点):发生故障进行人工的设置才能实现集群崩溃的问题 监控HDFS状态的辅助后台程序 每个集群都有一个 与NameNode进行通讯,定期保存HDFS元数据快照 与NameNode故障可以作为备用NameNode使用 1.3.D

CSS的四个核心概念

CSS(Cascading Style Sheet)层叠样式表,又称级联样式表,是一组格式设置规则,用来进行网页风格设计.通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离.页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分.将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间. CSS的核心概念有四个:标准流.盒模型.position.float,它们

Maven的几个核心概念

POM (Project Object Model) 一个项目所有的配置都放置在 POM 文件中:定义项目的类型.名字,管理依赖关系,定制插件的行为等等.比如说,你可以配置 compiler 插件让它使用 java 1.5 来编译. 示例的 POM: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

C#面向对象的核心概念

一.面向对象的核心概念 (一)抽象--面向对象的根基 讲到抽象,不得不涉及到现代科学技术的基础--数学. 数学是一门抽象的科学,面对着纷繁复杂的世间万物,数学不理会各种事物的独特特性,而只抽取它们在数量上的特性,深刻揭示了"世间万物"在数量上表现出的共同规律,抽象正是数学的本质特征. 数学的一个分支--离散数学是计算机科学的根基之一,因此,计算机科学从诞生之日起,就与数学有着密不可分的联系,抽象思维也是计算机科学的主要思维方法之一. 在使用面向对象的方法设计一个软件系统时,首先就要区分

Angularjs的核心概念

1. 客户端模板 多页面的应用通过组装和拼接服务器上的数据来生成HTML,然后输出到浏览器.Angularjs不同于此的是,传递模板和数据到浏览器,然后在浏览器端进行组装.浏览器的角色编程了只提供模板的静态资源和模板所需要的数据. <html ng-app> <head> <script src="angular.js"></script> <script src="controllers.js"><

面向对象的核心概念

1.面向对象的核心概念 从理论上说,面向对象技术拥有四大基本特性. (1)封装 这是一种隐藏信息的特征.封装这一特性不仅大大提高了代码的易用性,而且还使得类的开发者可以方便的更换新的算法,这种变化不会影响使用类的外部代码.可以用以下公式展示类的封装特性: 封装的类=数据+对此数据所进行的操作(即算法) 通俗的说,封装就是:包起外界不必需要知道的东西,只向外界展露可供展示的东西. 在面向对象理论中,封装这个概念拥有更为宽广的含义.小到一个简单的数据结构,大到一个完整的软件子系统,静态的如某软件系统

理解maven的核心概念

原文链接:http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 好久没进行java方面的开发了,最近又完成了一个java相关的任务,顺便重新体会了 maven 这一利器. 在使用过程中发现以前对maven的理解不够深入,借此机会重新梳理了一下maven的核心概念.相信理解了这些核心概念, 即使长时间不使用,以后再重新上手也会非常容易. 本文以类图的方式,介绍maven核心的12个概念以及相互之间的关系. Table of