简介

  TensorFlow是一个实现机器学习算法的接口,也是执行机器学习算法的框架。使用数据流式图规划计算流程,可以将计算映射到不同的硬件和操作系统平台。

主要概念

  TensorFlow的计算可以表示为有向图(directed graph),或者计算图(computation graph),计算图描述了数据的就算流程,其中每个运算操作(operation)作为一个节点(node),节点与节点之间连接称为边(edge)。在计算图变中流动(flow)的数据被称为张量(tensor),故称TensorFlow。

                                                                      

                              计算图实例[ref1]

  具体说,在一次运算中[ref2]:

    1. 使用图 (graph) 来表示计算任务:TensorFlow[2]:基本操作实例;

    2. 在被称之为 会话 (Session) 的上下文 (context) 中执行图:TensorFlow[2]:基本操作实例;

    3. 通过 变量 (Variable) 维护状态:TensorFlow[2]:基本操作实例。

代码实例

  1. #!/usr/bin/pyton
  2.  
  3. '''
  4. A simple example(linear regression) to show the complete struct that how to run a tensorflow
  5.  
  6. create_data -> create_tensorflow_struct->start session
    create date: 2017/10/20

    '''
  7.  
  8. import tensorflow as tf
  9. import numpy as np
  10.  
  11. #create data
  12.  
  13. x_data = np.random.rand(100).astype(np.float32)
  14. y_data = x_data*0.1 + 0.3
  15.  
  16. ###create tensorflow structure begin##
  17. Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
  18. biases = tf.Variable(tf.zeros([1]))
  19.  
  20. y = Weights*x_data + biases
  21.  
  22. loss = tf.reduce_mean(tf.square(y-y_data))
  23. optimizer = tf.train.GradientDescentOptimizer(0.5)
  24. train = optimizer.minimize(loss)
  25.  
  26. #when define variables, initialize must be called
  27. #init = tf.initialize_all_variables()
  28. ### create tensorflow structure end ###
  29.  
  30. sess = tf.Session()
  31. #note: initialize_local_variables no more support in new version
  32. if int((tf.__version__).split('.')[1]) < 12 and int((tf.__version__).split('.')[0]) < 1:
  33. init = tf.initialize_all_variables()
  34. else:
  35. init = tf.global_variables_initializer()
  36.  
  37. sess.run(init)
  38.  
  39. for step in range(201):
  40. sess.run(train)
  41. if step % 20 == 0:
  42. #session controls all opertions and varilables
  43. print(step, sess.run(Weights), sess.run(biases))
  44.  
  45. sess.close()

  计算结果:

  

--------------------------------------

说明:关于TensorFlow有很多好的学习资源,本列为前期学习时记录,现整理为笔记,代码参考莫凡

TensorFlow[1]:概念和简例的更多相关文章

  1. linux下C语言socket网络编程简例

    原创文章,转载请注明转载字样和出处,谢谢! 这里给出在linux下的简单socket网络编程的实例,使用tcp协议进行通信,服务端进行监听,在收到client的连接后,发送数据给client:clie ...

  2. 01炼数成金TensorFlow基本概念

    一.Tensorflow基本概念 1.使用图(graphs)来表示计算任务,用于搭建神经网络的计算过程,但其只搭建网络,不计算 2.在被称之为会话(Session)的上下文(context)中执行图 ...

  3. 深度学习框架之TensorFlow的概念及安装(ubuntu下基于pip的安装,IDE为Pycharm)

    2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源. 1.TensorFlow的概念 TensorFlow 是使用数据流图进行数值计算的开源软件库.也就是说,Tensor ...

  4. 5.3linux下C语言socket网络编程简例

    原创文章,转载请注明转载字样和出处,谢谢! 这里给出在Linux下的简单socket网络编程的实例,使用tcp协议进行通信,服务端进行监听,在收到客户端的连接后,发送数据给客户端:客户端在接受到数据后 ...

  5. [转]OpenGL图形渲染管线、VBO、VAO、EBO概念及用例

    直接给出原文链接吧 1.OpenGL图形渲染管线.VBO.VAO.EBO概念及用例 2.OpenGL中glVertex.显示列表(glCallList).顶点数组(Vertex array).VBO及 ...

  6. tensorflow核心概念和原理介绍

    关于 TensorFlow TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库. 节点(Nodes)在图中表示数学操作,图中的线(edges)则表示 ...

  7. JMeter入门(01)概念和样例

    一.概念 JMeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台,实现了许多和互联网相关的网络测试组件,同时还保留着很强的扩展性. JMeter可以用来测试诸如:静态文件,Java Ser ...

  8. Tensorflow基本概念

    [本文摘自网络,仅供学习使用] 官网上对TensorFlow的介绍是,一个使用数据流图(data flow graphs)技术来进行数值计算的开源软件库.数据流图中的节点,代表数值运算:节点节点之间的 ...

  9. TensorFlow 基本概念

    一.概述 使用图(graph)来表示计算任务 在会话(Session)的上下文(context)中执行图(graph) 使用tensor表示数据 通过 变量(Variable)维护状态 使用 feed ...

随机推荐

  1. 全球多个 TOP 网站藏挖矿代码,5 亿 PC 沦为矿工

    据ZDNet报道,现在很多网站都开始在网页脚本中藏匿挖矿代码,在用户访问时偷算力用于挖矿.来自Adguard的报告称也证实,也有5亿台电脑中招. 最新最热的IT技术付费社区 IT帮 itbang.me ...

  2. cocos2dx - 节点管理

    接上一节内容:cocos2dx - v2.3.3编辑器骨骼动画 本节主要Cocos2dx中节点的管理及应用 一般用法 用过Cocos2dx应该都有用过addChild,removeChild方法.或者 ...

  3. jsp中的盲区-面试可能会问到的东西

    1.今天看到一个有趣的JSP题目. <body>    This is my JSP page. <br>    <%        int a = 10;    %&g ...

  4. 如何设置App的启动图

    如何设置App的启动图,也就是Launch Image? Step1 1.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image" 2.如 ...

  5. struts2类型转换相关问题

    一.类型转化错误时,如何处理? 若Action类没有实现ValidationAware接口,在类型转化错误时,struts2会继续调用action方法,将该属性值置为默认值,不报错. 若Action类 ...

  6. common lisp和scheme的区别

    1. 在Common Lisp 眼中,一个符号的symbol-value 和symbol-function 是不一样的,而Scheme对两者不作区分.在Scheme 里面,变量只有唯一对应的值,它可以 ...

  7. IIS部署网站时常见问题解决

    首先服务器上安装IIS和Framework\v4.0 一.打开iis服务管理器 左侧目录中选择网站右键,选择添加网站 填写网站名称.选择项目存放的路径.ip地址和端口 VS用的是4.0,iis中网站也 ...

  8. C++ 中memset 勿要对类使用

    C++ 中memset 勿要对类使用 参考链接: http://www.cppblog.com/qinqing1984/archive/2009/08/07/92479.html 百度百科第一次这么给 ...

  9. springmvc+quartz简单实现定时调度

    一.简介:Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十 ...

  10. Cocoapods安装过程

    1.升级Ruby环境 gem -v gem update --system 如果没有权限去升级Ruby ?就输入 sudo gem update --system 2.换掉Ruby镜像 首先移除现有的 ...