TensorFlow构建二维数据拟合模型(1)

知识图谱

TensorFlow运行机制

TensorFlow是基于计算图的深度学习编程模型

Tensor表示张量,其实质上是某种类型的多维数组  

Flow表示基于数据流图的计算,实质上是张量在不同节点间的转化过程。

在TensorFlow中,计算图中的节点称为OP(即operation的缩写),节点之间的边描述了计算之间的依赖关系。

在计算过程中,一个节点可获得0或多个张量,产生0或多个张量。

TensorFlow程序通常被组织成图的构建阶段和执行阶段

构建阶段,节点的执行步骤被描述成一个图

执行阶段,使用会话执行图中的OP

TensorFlow系统架构

TensorFlow支持各种异构平台,支持多CPU/GPU、移动设备、具有良好的跨平台的特性;

架构灵活,能支持各种网络模型,具有良好的通用性。

系统结构以C API为界限,将整个系统分为前端和后端两个系统

 

如图所示组件构成TensorFlow 系统分布式运行机制的核心,其中每个组件的作用如下。

Client: 是前端系统的主要组成部分。它是一个 支持多语言的编程环境, 提供了基于计算图的编程模型,方便用户构造各种复杂的计算图,实现各种形式的模型设计。

Distrubuted Runtime: 在分布式的运行时环境中,Distributed Master根据Session.run的Fetching 参数,从计算图中反向遍历,找到所依赖的最小子图。对于每个任务,TensorFlow 都将启动一个Worker Service,按照计算图中节点之间的依赖关系,根据当前的可用的硬件环境(CPU/GPU),调用节点的Kernel实现完成节点的运算。

Kermnel Implements: 大多数Kernel 基于Eigen::Tensor实现。Eigen:Tensor 是一 个使用C++模板技术,为多核CPU/GPU生成高效的并发代码,包含200 多个标准的张量,包括数值计算、多维数组操作、控制流、状态管理等。每一个节点根据设备类型都会存在一个优化了的Kernel实现,在运行时,运行时根据本地设备的类型,为节点选择特定的Kernel实现,完成该节点的计算

构建计算图

计算图描述了一组需要依次序完成的计算单元以及这些计算单元之间相互依赖的关系。

计算图的构建阶段也称为计算图的定义阶段,该过程会在图模型中定义所需的运算,每次运算的结果以及原始的输入数据都可称为一个节点。

下面代码给出了计算图的定义过程

上述代码定义了两个张量相加的计算图如

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值