美文网首页
Tensorflow 学习笔记(1)

Tensorflow 学习笔记(1)

作者: Theodore的技术站 | 来源:发表于2018-11-23 08:30 被阅读8次

    TensorFlow介绍:

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。它是谷歌基于DistBelief进行研发的第二代人工智能学习系统。2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源。

    其命名来源于本身的原理,Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。Tensorflow运行过程就是张量从图的一端流动到另一端的计算过程。张量从图中流过的直观图像是其取名为“TensorFlow”的原因。

    说了这么多先去官网看看直观的案例吧

    看这个图不就是个神经网络嘛,所以才会用这种框架啊。 

    输入x1 x2就是一个个特征 中间的瘾层 输出层都可以自己添加节点,可以自己去试着玩一玩。

    TensorFlow的关键点是:“Data Flow Graphs”,表示TensorFlow是一种基于图的计算框架,其中节点(Nodes)在图中表示数学操作,线(Edges)则表示在节点间相互联系的多维数据数组,即张量(Tensor)。

    Tensorflow特性:

    高度的灵活性:只要能够将计算表示成为一个数据流图,那么就可以使用TensorFlow。

    可移植性:TensorFlow支持CPU和GPU的运算,并且可以运行在台式机、服务器、手机移动端设备等等。

    自动求微分:TensorFlow内部实现了自动对于各种给定目标函数求导的方式。

    多种语言支持:Python、C++

    性能高度优化

    为什么选择Tensorflow

    Tensorflow基本概念

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

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

    操作(op):图中的节点被称为op(opearation的缩写),一个op获得/输入0个或多个Tensor,执行计算,产生0个或多个Tensor。

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

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

    边的概念

    TensorFlow的边即有两种连接关系:

    数据依赖

    控制依赖

    实线边表示数据依赖,代表数据,即张量。任意维度的数据统称为张量。在机器学习算法中,张量在数据流图中从前往后流一遍就完成一次前向传播,而残差从后向前流动一遍就完成一次反向传播。

    虚线边表示控制依赖,可以用于控制操作的运行,这被用来确保happens-before关系,这类边上没有数据流过,但源节点必须在目的节点开始执行前完成。

    Tensorflow数据属性

    Tensorflow的节点 代表一个操作 一般用来施加数字运算

    使用Tensorflow必须理解下列感念:

    使用图(graph)来表示计算任务;

    在会话(session)的上下文中执行图;

    使用tensor表示数据;

    通过变量(Variable)来维护状态 ;

    使用feed和fetch可以为任意的操作(Operation/op)赋值或者从其中获取数据。

    相关文章

      网友评论

          本文标题:Tensorflow 学习笔记(1)

          本文链接:https://www.haomeiwen.com/subject/bbqdpftx.html