Learning Tensorflow (2)
来源:互联网 发布:预算软件有哪些 编辑:程序博客网 时间:2024/06/05 20:29
上章节对比了一下 numpy 和 tensorflow 的计算方式,这节来具体阐述一下tensorflow的工作原理:
Tensorflow是用数据流图(data flow graphs)技术来进行数计算的!!!
那么问题来了,啥是数据流图???(重要的问题问三遍)
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 —— [百度百科]
说的这么专业,这么抽象,还是用图解来说明问题:
图中,节点代表数学运算,边表示节点之间的某种联系,用来传输多维数据,而节点可以被分配到多个计算设备上,可以异步和并行地执行操作。因为图是有向图,所以计算按照指向有次序的进行。
(虽然图是我偷的,但是学习的心是真的)
下面用tensorflow来实现一下图上的计算方法:
import tensorflow as tf# 创建占位对象X, YX = tf.placeholder("float", [None])Y = tf.placeholder("float", [None])# 设置会话sess = tf.Session()# 初始化init = tf.initialize_all_variables()sess.run(init)# 构建计算表达式Z = (2.2 - (X/11)) + (7 * tf.cos(Y))# 传入参数启动会话完成计算, 这里令X = 1, Y = 2print sess.run(Z, feed_dict={X: [1], Y: [2]})# 得到结果# [-0.80393696]
再使用numpy来验证一下结果是否正确
import numpy as npprint (2.2 - (1 / float(11)) + (7 * np.cos(2)))# 得到结果# -0.803936946739
这里对比 numpy 发现 tensorflow 计算是如此的麻烦, numpy 一行代码的事, tensorflow 居然要写那么多,本身 tensorflow 就是来解决大规模数据量计算的,杀鸡焉能用牛刀,这里与 numpy 对比只是为了更好的理解它的运行计算方式。
阅读全文
1 0
- Learning Tensorflow (2)
- learning tensorflow
- deep learning on tensorflow
- Tensorflow Learning note1
- Learning Tensorflow (1)
- Learning Tensorflow (3)
- Learning Tensorflow (4)
- Learning Tensorflow (5)
- Notes on learning tensorflow
- Word2Vec (Part 2): NLP With Deep Learning with Tensorflow (CBOW)
- Word2Vec (Part 2): NLP With Deep Learning with Tensorflow (CBOW)
- 【CS 20SI】TensorFlow for Deep Learning Research Lecture note 2: TensorFlow Ops
- Deep Learning algorithms with TensorFlow
- TensorFlow-3-TensorBoard: Visualizing Learning
- 【Tensorflow slim】slim learning包
- 【Deep Learning】Tensorflow MNIST测试
- TensorFlow学习笔记9----TensorFlow Wide & Deep Learning Tutorial
- [note] deep learning tensorflow lecture 2 notes 深度学习笔记 (2) 解决过拟合
- Spring AOP详解
- Android-第三方框架ButterKnife(注解框架)
- Android 组件开发 以及跨module跳转
- java请求路径
- 数理逻辑3 -- 形式数论1
- Learning Tensorflow (2)
- 运行adb 报adb已经停止工作解决方法
- 首次开通技术博客,做个标记
- Codeforces 832D. Misha, Grisha and Underground【LCA】
- 产品设计14招,招招有用(下)
- MyBatis代码自动生成
- linux,Ubuntu设置MySQL远程访问权限
- ZooKeeper学习第一期---Zookeeper简单介绍
- Oracle插入或修改 报ORA-01704: 文字字符串太长