欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

tensorflow常见函数

程序员文章站 2022-07-09 21:23:11
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') #转 ......

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中不同值的索引