TensorFlow简介

TensorFlow是由谷歌人工智能团队谷歌大脑开发和维护的深度学习平台,目前人工智能领域主流的开发平台,在全球有着广泛的用户群体。

特点:

  • 优秀的架构设计,通过张量流进行数据传递和计算,用户可以清晰地看到张量流动的每一个环节。
  • 可以轻松地在CPU/GPU上部署,进行分布式计算,为大数据分出现提供计算能力的支撑。
  • 跨平台性好,灵活性强。TensorFlow不仅在Linux、Mac、和Windows系统中运行,甚至可以再终端下工作。

TensorFlow的体系结构

TensorFlow属于定义与运行相分离的运行机制,从操作层面可以抽象成两种,模型的构建和模型的运行。

  • 客户端,用户编程、执行使用。
  • mster:用来与客户端交互,并进行调度的。
  • worker process:工作节点,每个worker process可以访问一道多个device
  • device:TF的计算核心,执行计算。
  • Tf的实现分为单机实现,分布式实现。







      基本概念

      张量:多维数组或向量,张量是数据的载体,包含名字、形状、数据类型等属性。



      数据流图用节点和线的有向图来描述数学计算。

      节点,一般用来表示数学操作,也可以表示数据输入的起点,和输出的终点,或者读取写入持久变量的终点。

      线表示节点之间的输入输出关系,数据线可以输运多维数据组,即“张量”。

      一旦输入终端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地运算。



      操作:指专门执行计算的节点,TensorFlow函数或者API定义的都是操作,常用的操作包括:

      • 标量的运算、向量的运算、矩阵的运算
      • 带状态的运算
      • 神经网络组件
      • 存储、恢复
      • 控制流
      • 队列及同步运算

      图描述整个程序结构,TensorFlow中所有的计算都构建在图中。

      会话,用来执行图的运算。

      在TensorFlow中,变量时一种操作,变量是一种特殊的张量,能够进行存储持久化,它的值是张量。

      占位符是变量占位符,当不确定变量的值时,可以先声明一个占位符,真正执行的时候再传入变量。

      图,描述了计算过程,TensorFlow程序通常被组织成一个构建阶段和一个执行阶段,在构建阶段,OP 的执行步骤被描述成一个图,在执行阶段使用会话执行图中的OP。在TensorFlow中,op/session.tensor都有graph属性。

      会话,用来执行图中的计算,并且保存了计算张量对象的上下文信息,会话的主要作用有,运行图结构,分配资源,掌握资源,一个session只能执行一个图的运算,可以再会话对象创建时,制定运行的图,如果在构造会话时未指定图形参数,则将在会话中使用默认图。如果在同一进程中使用多个图,则必须为每个图使用不同的会话,但每个图可以再多个会话中使用。

      发布于 2022-05-15 20:55