Tensorflow为张量从流图的一端流动到另一端的计算过程,Tensorflow也可以看成是将复杂的数据结构传输至人工智能神经网络中进行分析和处理的系统。

张量概念是矢量概念的推广,矢量是一阶张量。张量是一个可用来表示一些矢量、标量和其他张量之间的线性关系的多线性函数。

一阶张量来表示向量,如v=[1,2,3,4,5];用二阶张量表示矩阵,如m=[[1,2,3],[4,5,6],[7,8,9]]

在介绍flow之前,需要知道的是在Tensorflow中,数据流图使用“结点”和“边”的有向图来描述数学计算。“结点”一般用来表示施加的数学操作,但也是可以表示数据输入(feed in)的起点和输出的终点(push out),或者是读取/写入持久变量的终点。“边”表示“节点”之间的输入/输出关系。

当张量从图中流过时,就产生了“flow”,一旦输入端的所有张量准备好,节点将被分配到各种计算设备异步并行地完成执行运算,即数据开始飞起来。

边分为两种,一是正常边,即数据tensor流动的通道,在正常边上可以自由地计算数据。

第二种边是一种特殊边,又称为“控制依赖”边,其作用是控制节点之间相互依赖,在边的上一个节点完成运算前,特殊的节点不会被执行,即数据的处理要遵循一定的顺序。其次特殊边还有一个作用是为了多线程运行数据的执行,让没有前后依赖顺序的数据计算能够分开执行,最大效率地利用系统设备资源。

最后需要介绍地一个概念就是“会话”(session)。会话是tensorflow的主要交互方式,一般而言,Tensorflow处理数据的流程是:建立会话、生成一张空图、添加各个节点和边,形成一个有连接点的图,然后启动图,进行系统的执行。

Tensorflow基本架构

client:用户会使用,与Master和一些worker process交流

master:用来和客户端交互,同时调度任务

worker process:工作节点,每个worker process可以访问一到多个device

device:Tensorflow的计算核心,通过将device的类型、job名称、在worker process中的索引将device命名。可以通过注册机制来添加新的device实现,每个device实现需要负责内存分配和管理调度Tensorflow系统所下达的核运算需求。

类似于分布式系统,Master是系统的总的调度师,对所有的任务和工作进行调度;client提出需求,对任务做出具体的设定和结果要求;worker process是工作节点,是单任务的监视器;device是任务的具体执行和分配节点,所有的具体计算结果都在device下进行处理。

Tensorflow程序设计

步骤一:导入程序所需要使用的包

步骤二:将W,b定义为变量。将x,y定义为占位符,类似于填子弹的过程。使数据像子弹一样源源不断地填入Tensorflow程序中。

步骤三:前馈方式构造网络

步骤四:构造损失函数

步骤五:构造梯度

步骤六:用一个会话,run来执行

Tensorflow瞎搞的更多相关文章

  1. URAL 1203. Scientific Conference(瞎搞)

    题目链接 本来觉得这不是经典的贪心吗..果断水一次,wa了,看了看discuss,发现貌似不好水,土土的DP了一下,复杂度很高了,又T了...然后想想单调队列,二分什么的...不好往上加,直接搞了标记 ...

  2. Codeforces Gym 100610 Problem H. Horrible Truth 瞎搞

    Problem H. Horrible Truth Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1006 ...

  3. B. Salty Fish Go! -期望题(瞎搞题)

    链接:https://www.nowcoder.com/acm/contest/104/B来源:牛客网 题意:A few days ago, WRD was playing a small game ...

  4. HDU5532 Almost Sorted Array(最长上升子序列 or 瞎搞个做差的数组)

    题目链接:点我 题意:给定一个序列,询问是否能删除一个数让它成为非递减或者非递增的序列. 比如说 删除后的序列是1 3 3 5 或者5 3 3 1 或者1 3 5 或者5 3 1 都可以.只要满足删掉 ...

  5. TOJ3097: 单词后缀 (字典树 or map瞎搞)

    传送门 (<---可以点击的~) 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte 描述 有些英语单词后缀都是一样的,现在我们需要从给定的一堆单词里 ...

  6. 8VC Venture Cup 2016 - Elimination Round B. Cards 瞎搞

    B. Cards 题目连接: http://www.codeforces.com/contest/626/problem/B Description Catherine has a deck of n ...

  7. ubuntu--基础环境瞎搞集合

    安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置. 一.安装. 可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留 ...

  8. Codeforces631C【栈维护+瞎搞】

    题意: 百度. 思路: 如果该查询的R比前面的所有都大,那么前面所有都失效. 那么我先预处理出这些有效的. 那最坏的情况不就是栈里面元素(R)很多 n,n-1,n-2,n-3,n-4而且都是相反排序的 ...

  9. BZOJ 4236: JOIOJI map瞎搞

    分别记录J,O,I,的个数 cnt[char][i] 表示处理到第i位,char的个数 显然当且仅当 cnt[J][i] - cnt[O][i] == cnt[J][j-1] - cnt[O][j-1 ...

随机推荐

  1. Spring 常用类

    一.拦截器 public class SysInteceptor implements HandlerInterceptor { /** * 最后执行,可用于释放资源 */ @Override pub ...

  2. C# Activator.CreateInstance 动态创建类的实例(二)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. iOS 学习笔记一【屏幕截图,并显示当前View】

    // 直接上代码: // // ViewController.h // 屏幕截图测试 // // Created by 博爱之家 on 15/11/11. // Copyright © 2015年 博 ...

  4. ashx后门

    一.标准ASPX一句话木马 .NET平台下的一句话木马则百年不变,最常见的当属下面这句 <%@ Page Language=”Jscript”%><%eval(Request.Ite ...

  5. 华为终端开放实验室Android P Beta 4测试能力上线

    7月26日,Android P Beta 4发布(即Android P DP5),此版本为开发者最后一个预览版本,也预示着Android P正式版即将与大家见面. 为保证开发者在正式版本来临前做好充分 ...

  6. UVa10099_The Tourist Guide(最短路/floyd)(小白书图论专题)

    解题报告 题意: 有一个旅游团如今去出游玩,如今有n个城市,m条路.因为每一条路上面规定了最多可以通过的人数,如今想问这个旅游团人数已知的情况下最少须要运送几趟 思路: 求出发点到终点全部路其中最小值 ...

  7. OpenCV中Kinect的使用(1)

    图像处理中一般为了更好的获取外部信息都会使用到Kinect,其优势在于除了传统的RGB摄像头之外,还拥有一个获取深度信息的3D深度感应器,因此可以获得外界物体的3维信息实现物体的跟踪.手势识别等各项功 ...

  8. asp.net 页面延时五秒,跳转到另外的页面

    asp.net 页面延时五秒,跳转到另外的页面的实现代码. --前台 <%@ Page Language="C#" AutoEventWireup="true&qu ...

  9. android Material design是什么

    Material design概述: Material design是一套UI样式标准,应该会提供一些新的API这写API包含了以下五大模块内容,分别是: Material Theme New Wid ...

  10. ipod锁定后的恢复

    1.断开 USB 线缆与设备的连接,但保持线缆的另一端与电脑的 USB 端口相连. 2.关闭设备:按住“睡眠/唤醒”按钮数秒,直到出现红色滑块,然后滑动该滑块.等待设备关闭. 3.按住主屏幕按钮,同时 ...