tensorflow常见函数
1、类型转换
tf.string_to_number(string_tensor,out_type=None,name=None) #字符串转为数字
tf.to_double(x,name='ToDouble') #转为64位浮点类型
tf.to_float(x,name='ToFloat') #转为32位浮点类型
tf.to_int32(x,name='ToInt32') #转为32位整型
tf.to_int64(x,name='ToInt64') #转为64位整型
tf.cast(x,dtype,name=None) #将x或者x.values转换为dtype所指定的类型
2、数值操作
tf.ones(shape,stype) #生成1的张量。tf.ones([2,3],tf.int32)
tf.zeros(shape,dtype) #生成0的张量。
tf.ones_like(input) #生成和输入张量一样形状和类型的1。
tf.zeros_like(input) #生成和输入张量一样形状和类型的0。
tf.fill(shape,value) #为指定形状填值。
tf.constant(value,shape) #生成常量。
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) #正太分布随机数
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) #截断正太分布随机数
tf.random_uniform(shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None) #均匀分布随机数
tf.random_crop(value, size, seed=None, name=None) #将输入值value按照size尺寸随机剪辑
tf.set_random_seed(seed) #设置随机数种子
tf.linspace(start, stop, num, name=None) #在[start,stop]范围内产生num个数的等差数列。start,stop要用浮点数表示。
tf.range(start,limit=None,delta=1,name='range') #在[start,limit)范围内以步进值delta产生等差数列。
3、形状变换
tf.shape(input,name=None) #返回一个张量,其值为输入参数input的shape。这个input可以是个张量,也可以是一个数组或list。
tf.size(input,name=None) #返回一个张量,输入数据的元素数量。
tf.rank(input, name=None) #返回一个张量,输入数据的rank。
tf.reshape(input, shape, name=None) #将原有输入数据的shape按照指定形状进行变化,生成一个新的张量。
tf.expand_dims(input, dim, name=None) #插入维度1进行一个tensor中。
tf.squeeze(input,dim,name=None) #将dim指定的维度去掉(dim所指定的维度必须为1,否则出错)。
4、数据操作
tf.slice(input,begin,size,name=None) #将输入数据input进行切片操作,begin与size可以为list类型。
tf.split(value,num_or_size_splits, axis=0, num=None, name="split") #沿着某一维度将tensor分离为num_or_size_splits。
tf.concat(concat_dim, values, name='concat') #沿着某一维度连接tensor
tf.stack(input, axis=0) #将两个N维张量列表沿着axis轴组合成一个N+1维的张量
tf.unstack(value, num=None, axis=0, name="unstack") #将输入value按照指定的列或行进行拆分,并输出含有num个元素的列表(list)axis=0表示按行拆分,axis=1表示按列拆分。
tf.gather(params,indices,validate_indices=None,name=None) #合并索引indices所指定params中的切片
tf.one_hot(indices,depth,on_value=None,off_value=None,axis=None,dtype=None,name=None) #生成符合onehot编码的张量。
tf.count_nonzero(input_tensor,axis=None,keep_dims=False,dtype=dtype.int64,name=None,reduction_indices=None) #统计非0个数
5、算术运算函数
tf.assign(x,y,name=None) #令x=y
tf.add(x,y,name=None) #求和
tf.subtract(x,y,name=None) #减法
tf.multiply(x,y,name=None) #乘法
tf.divide(x,y,name=None) #除法
tf.mod(x,y,name=None) #取模
tf.abs(x,name=None) #求绝对值
tf.negative(x, name=None) #取负
tf.sign(x, name=None) #根据x的符号,返回0或1
tf.square(x,name=None) #平方
tf.round(x, name=None) #舍入最接近的整数。
tf.sqrt(x,name=None) #开根号
tf.pow(x,y,name=None) #幂次方计算
tf.exp(x,name=None) #计算e的次方
tf.log(x,name=None) #计算log,一输入计算e的ln,两输入以第二输入为底。
tf.maximum(x,y,name=None) #返回最大值
tf.minimum(x,y,name=None) #返回最小值
tf.cos(x,name=None) #三角函数sin,tan,atan
tf.cond(pred,true_fn=None,false_fn=None,strict=False,name=None,fn1=None,fn2=None) #满足条件执行fn1,否则执行fn2
6、矩阵相关运算
tf.diag(diagonal,name=None) #返回一个给定对角值的对角tensor。
tf.diag_part(input,name=None) #功能与上面相反
tf.trace(x,name=None) #求一个二维tensor足迹,即对角值diagonal之和
tf.transpose(a,perm=None,name='transpose') #让输入a按照参数perm指定的维度顺序进行转置操作。
tf.reverse(tensor,dims,name=None) #沿着指定的维度对输入进行反转。其中,dims为列表,元素含义为指向输入shape的索引。
tf.matmul(a,b,transpose_a=False,transpose_b=False) #矩阵相乘
tf.matrix_determinant(input,name=None) #返回方阵的行列式
tf.matrix_inverse(input,adjoint=None,name=None) #求方阵的逆矩阵
tf.cholesky(input,name=None) #对输入方阵cholesky分解,即把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分级
tf.matrix_solve(matrix,rhs,adjoint=None,name=None) #求解矩阵方程,返回矩阵变量。
7、序列比较与索引提取
tf.argmin(input,axis,name=None) #返回input最小值的索引index
tf.argmax(input,axis,name=None) #返回input最大值的索引index。
tf.setdiffld(x,y,name=None) #返回x,y中不同值的索引
tf.where(condition,x=None,y=None,name=None) #根据指定条件,返回对应的值或坐标。
tf.unique(x,name=None) #返回一个元组tuple(y,idx)。其中,y为x列表的唯一化数据列表,idx为x数据对应y元素的index。
tf.invert_permutation(x,name=None) #沿着input的第一维进行随机重新排列。