【TensorFlow 2】矩阵基础

placeholder

placeholder为tf中的占位符,用来保存数据。语法为:

tf.placeholder(dtype, shape=None, name=None)

dtype:数据类型   shape:数据维度   name:名称  

返回类型:Tensor

使用方法:

data1 = tf.placeholder(tf.float32)
data2 = tf.placeholder(tf.float32)
dataAdd = tf.add(data1,data2)
with tf.Session() as sess:
    print(sess.run(dataAdd,feed_dict={data1:6,data2:2})) # feed_dict的作用是给使用placeholder创建出来的tensor赋值。

矩阵

创建矩阵并打印矩阵中的值:

data3 = tf.constant([[6,6]]) 
data4 = tf.constant([[2],[2]])
data5 = tf.constant([[3,3],[3,4],[5,6]])
with tf.Session() as sess:
    print(sess.run(data5)) #打印整体
    print(sess.run(data5[0])) #打印某一行
    print(sess.run(data5[:,1])) #打印某一列

矩阵乘法与普通乘法:

data3 = tf.constant([[6,6]])
data4 = tf.constant([[3],[2]])
matMul = tf.matmul(data3,data4)
matMul1 = tf.multiply(data3,data4)
with tf.Session() as sess:
    print(sess.run(matMul)) # 矩阵乘法(1*2)*(2*1)->1*1
    print(sess.run(matMul1)) # 普通乘法(1*2)*(2*1)->2*2

一些常用的矩阵生成:

mat0 = tf.zeros([2,3]) #全0矩阵
mat1 = tf.ones([3,1]) #全1矩阵
mat2 = tf.fill([3,3],15) #填充矩阵
mat3 = tf.zeros_like(mat2) #mat3和mat2维度相同且全为0
mat4 = tf.linspace(0.0,2.0,10) # 把0.0~2.0  10等分存入矩阵
mat5 = tf.random_uniform([2,3],1,100) # 把1~100中的随机数存入2*3的矩阵中

猜你喜欢

转载自www.cnblogs.com/mxiaoy/p/10778777.html