机器学习(tensorflow)笔记——第一章

253 阅读1分钟

创建张量(多维数组)以及张量的一些使用性质:(import tensorflow as tf)

创建张量:

tensor1=tf.Variable([1,2,3],dtype=tf.int32)#创建一维张量
tensor2=tf.Variable(111,dtype=tf.int16)#创建0维张量
tensor3=tf.Variable([[1,2,3],[4,5,6]],dtype=tf.int32)#创建二维张量
三维张量同理可得......

张量的一些性质:

tensor1.shape#输出张量形状为(3,)表示是一维且有三个元素
tensor1.shape.as_list()#输出张量形状以[]表示
tf.rank(tensor1)#输出张量的秩,以对象型表示
tf.rank(tensor1).numpy()#输出张量的秩,以整数表示
tensor1.numpy()#输出张量的数组表示
tensor1[0].numpy()#输出张量的第一个元素值

张量加法:

tensor_add=tensor1+tensor1#直接使用+符号进行加法运算,但是执行加法运算的两个张量必须是同秩的
tensor_add=tf.add(tensor1,tensor1)#使用tf的add方法进行加法运算,同样两个张量必须同秩

张量重塑(改变张量的形状或者秩):

例如tensor4=tf.Variable([1,2,3,4,5,6])#一维测试张量
tensor_reshape=tf.reshape(tensor4,shape=[3,2])#张量重塑方法,将一维张量变为了二维张量且是三行两列,改变了张量的形状
<tensor_reshape2=tf.reshape(tensor4,shape=[1,2,3])#张量重塑,将一维张量变为了三维张量,改变了张量的秩

张量转置(一般对于矩阵来说的,将矩阵的行列进行互换):

例如tensor5=tf.Variable([1,2,3,4,5,6])#一维测试张量
tensor_transpose=tf.transpose(tensor5)#张量转置方法,对于一维张量转置不变,二维则行列互换

张量乘法(适用二维张量或0维张量):

例如tensor6=tf.Variable([[1,2,3]])#创建测试用一行三列的二维张量
tensor7=tf.Variable([[1],[2],[3]])#创建测试用三行一列的二维张量
tensor_mult=tf.matmul(tensor6,tensor7)#张量乘法方法,左乘和右乘不一样,且矩阵1的行等于矩阵2的列
tensor_mult=tensor6 @ tensor7#张量乘法的第二种表示形式
对于标量与矩阵相乘:tensor_mult=5*tensor6#直接使用*符号