Tensorflow自我训练进阶(代码+注解)【0】以矩阵乘法为例的开篇之谈

开始玩TensorFlow, 发现真的是个很强大的工具。为了自我督促,故开此博客,将阶段工作整理发表,以便于互相交流与讨论~~


TensorFlow使用张量为数据结构(可以暂时理解成一维向量或者二维矩阵),这些就是它的操作对象。

TensoeFlow使用computation graph作为计算过程,每个计算过程都称为一个session,而每个session存储的也是一个model。

同时还有许许多多各种功能的配套函数。

这就组成了我们的TensorFlow。


下面来自于一个有趣的实验:矩阵乘法

法一:安装官方文档上的示例,使用tensorflow去计算

法二:使用numpy库中的矩阵乘法

法三:使用numpy库中的dot函数


时间长短比较:


法一>法二>>法三


使用TensorFlow就像“宰牛刀”去杀鸡一样,跑的时间比其他的都长。

方法3的时间几乎为前两个的1/10, 非常快速!为什么呢?让窝再想想......也许是与内置函数有关?【我联想到了python字典的查询速度与规模无关,都是非常快这件事了。】


代码如下:

import tensorflow as tf
import time
import numpy as np
print '\nexample1: 3 ways to do Matrix-Multiple by ORCA\n'
# do MatrixMultiple in TF
start = time.clock()
matrix1 = tf.constant([[2., 1.]])
matrix2 = tf.constant([[3., 9.],[7., 2.]])
product = tf.matmul(matrix1, matrix2)

sess = tf.Session()
with tf.Session() as sess:
    result = sess.run([product])
print result
print 'tensorflow use time:', time.clock()-start
#do MatrixMultiple in Numpy as matrix
start = time.clock()
a = np.matrix([[2., 1.]])
b = np.matrix([[3., 9.], [7., 2.]])
c = a*b
print c
print 'matrix multiple use time:', time.clock() - start
#do MatrixMultiple in Numpy as dot
start = time.clock()
a = np.array([[2., 1.]])
b = np.array([[3. , 9.], [7., 2.]])
c = np.dot(a, b)
print c
print 'matrix dot use time:', time.clock() - start
大概就是这样一个突发奇想,也是我从官方文档扒下来的第一个示例。以后也会逐渐从官方文档上整理示例代码(当然是更加完善实现更多功能那种),供自己学习以及大家的交流~


天空鱼

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值