您的位置:首页 > 其它

Tensorflow深度学习之三:基础概念篇(矩阵相乘)

2017-07-18 12:43 465 查看
Tensorflow中有很多地方需要用到矩阵相乘,这里通过一个小程序讲解一下矩阵相乘中所涉及的基本概念。(由于本人刚刚接触Tensorflow,有些概念讲解若有错误,请不吝指出。)


import tensorflow as tf
#Tensorflow默认会话
sess = tf.InteractiveSession()

#建立两个矩阵变量w1和w2
#tf.random_normal(shape,
#                 mean=0.0,
#                 stddev=1.0,
#                 dtype=dtypes.float32,
#                 seed=None,
#                 name=None)
#产生随机正态分布
#shape表示矩阵的维度,例如:
#tf.random_normal([2,3],mean=1.0, stddev=1.0)是一个2行3列的矩阵,
#mean表示均值,默认为0.0,stddev表示标准差,默认为1.0
#seed表示随机数种子,默认为None
w1 = tf.Variable(tf.random_normal([2,3],mean=1.0, stddev=1.0))
w2 = tf.Variable(tf.random_normal([3,1],mean=1.0, stddev=1.0))

#定义一个二维的常量矩阵,注意:这里不是一维数组
x = tf.constant([[0.7, 0.9]])

#初始化全局变量,这里由于只有w1和w2没有被初始化(之前只是定义了w1和w2的tensor,并没有被初始化),故这一步只会初始化w1和w2.
tf.global_variables_initializer().run()
#tf.initialize_all_variables().run()    #这种写法也可,官方推荐使用上面的写法

#计算矩阵相乘a=x*w1(关于矩阵乘法,可以参看线性代数)
a = tf.matmul(x ,w1)
#计算矩阵相乘y=a*w2
y = tf.matmul(a, w2)
#输出计算结果,是一个1行1列的二维矩阵
print(y.eval())


结果如下:(在不同的机器上,运行结果或有不同)

[[ 5.25156927]]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习 Tensorflow
相关文章推荐