Tensorflow深度学习之三:基础概念篇(矩阵相乘)
程序员文章站
2024-02-04 13:40:34
...
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]]
上一篇: 【学习笔记】JSON基础概念简介
下一篇: JavaWeb篇-Json&Ajax