Tensor flow常用函数非常详细.docx
- 文档编号:2422619
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:21
- 大小:36.24KB
Tensor flow常用函数非常详细.docx
《Tensor flow常用函数非常详细.docx》由会员分享,可在线阅读,更多相关《Tensor flow常用函数非常详细.docx(21页珍藏版)》请在冰豆网上搜索。
Tensorflow常用函数非常详细
1、tensorflow常用函数
TensorFlow将图形定义转换成分布式执行的操作,以充分利用可用的计算资源(如CPU或GPU。
一般你不需要显式指定使用CPU还是GPU,TensorFlow能自动检测。
如果检测到GPU,TensorFlow会尽可能地利用找到的第一个GPU来执行操作.
并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进。
大部分核相关的操作都是设备相关的实现,比如GPU。
下面是一些重要的操作/核:
操作组
操作
Maths
Add,Sub,Mul,Div,Exp,Log,Greater,Less,Equal
Array
Concat,Slice,Split,Constant,Rank,Shape,Shuffle
Matrix
MatMul,MatrixInverse,MatrixDeterminant
NeuronalNetwork
SoftMax,Sigmoid,ReLU,Convolution2D,MaxPool
Checkpointing
Save,Restore
Queuesandsyncronizations
Enqueue,Dequeue,MutexAcquire,MutexRelease
Flowcontrol
Merge,Switch,Enter,Leave,NextIteration
TensorFlow的算术操作如下:
操作
描述
tf.add(x,y,name=None)
求和
tf.sub(x,y,name=None)
减法
tf.mul(x,y,name=None)
乘法
tf.div(x,y,name=None)
除法
tf.mod(x,y,name=None)
取模
tf.abs(x,name=None)
求绝对值
tf.neg(x,name=None)
取负(y=-x).
tf.sign(x,name=None)
返回符号y=sign(x)=-1ifx<0;0ifx==0;1ifx>0.
tf.inv(x,name=None)
取反
tf.square(x,name=None)
计算平方(y=x*x=x^2).
tf.round(x,name=None)
舍入最接近的整数
#‘a’is[0.9,2.5,2.3,-4.4]
tf.round(a)==>[1.0,3.0,2.0,-4.0]
tf.sqrt(x,name=None)
开根号(y=\sqrt{x}=x^{1/2}).
tf.pow(x,y,name=None)
幂次方
#tensor‘x’is[[2,2],[3,3]]
#tensor‘y’is[[8,16],[2,3]]
tf.pow(x,y)==>[[256,65536],[9,27]]
tf.exp(x,name=None)
计算e的次方
tf.log(x,name=None)
计算log,一个输入计算e的ln,两输入以第二输入为底
tf.maximum(x,y,name=None)
返回最大值(x>y?
x:
y)
tf.minimum(x,y,name=None)
返回最小值(x x: y) tf.cos(x,name=None) 三角函数cosine tf.sin(x,name=None) 三角函数sine tf.tan(x,name=None) 三角函数tan tf.atan(x,name=None) 三角函数ctan 张量操作TensorTransformations 数据类型转换Casting 操作 描述 tf.string_to_number (string_tensor,out_type=None,name=None) 字符串转为数字 tf.to_double(x,name=’ToDouble’) 转为64位浮点类型–float64 tf.to_float(x,name=’ToFloat’) 转为32位浮点类型–float32 tf.to_int32(x,name=’ToInt32’) 转为32位整型–int32 tf.to_int64(x,name=’ToInt64’) 转为64位整型–int64 tf.cast(x,dtype,name=None) 将x或者x.values转换为dtype #tensorais[1.8,2.2],dtype=tf.float tf.cast(a,tf.int32)==>[1,2]#dtype=tf.int32 形状操作ShapesandShaping 操作 描述 tf.shape(input,name=None) 返回数据的shape #‘t’is[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]] shape(t)==>[2,2,3] tf.size(input,name=None) 返回数据的元素数量 #‘t’is[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]] size(t)==>12 tf.rank(input,name=None) 返回tensor的rank 注意: 此rank不同于矩阵的rank, tensor的rank表示一个tensor需要的索引数目来唯一表示任何一个元素 也就是通常所说的“order”,“degree”或”ndims” #’t’is[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]] #shapeoftensor‘t’is[2,2,3] rank(t)==>3 tf.reshape(tensor,shape,name=None) 改变tensor的形状 #tensor‘t’is[1,2,3,4,5,6,7,8,9] #tensor‘t’hasshape[9] reshape(t,[3,3])==> [[1,2,3], [4,5,6], [7,8,9]] #如果shape有元素[-1],表示在该维度打平至一维 #-1将自动推导得为9: reshape(t,[2,-1])==> [[1,1,1,2,2,2,3,3,3], [4,4,4,5,5,5,6,6,6]] tf.expand_dims(input,dim,name=None) 插入维度1进入一个tensor中 #该操作要求-1-input.dims() #‘t’isatensorofshape[2] shape(expand_dims(t,0))==>[1,2] shape(expand_dims(t,1))==>[2,1] shape(expand_dims(t,-1))==>[2,1]<=dim<=input.dims() 切片与合并(SlicingandJoining) 操作 描述 tf.slice(input_,begin,size,name=None) 对tensor进行切片操作 其中size[i]=input.dim_size(i)-begin[i] 该操作要求0<=begin[i]<=begin[i]+size[i]<=Diforiin[0,n] #’input’is #[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]],[[5,5,5],[6,6,6]]] tf.slice(input,[1,0,0],[1,1,3])==>[[[3,3,3]]] tf.slice(input,[1,0,0],[1,2,3])==> [[[3,3,3], [4,4,4]]] tf.slice(input,[1,0,0],[2,1,3])==> [[[3,3,3]], [[5,5,5]]] tf.split(split_dim,num_split,value,name=’split’) 沿着某一维度将tensor分离为num_splittensors #‘value’isatensorwithshape[5,30] #Split‘value’into3tensorsalongdimension1 split0,split1,split2=tf.split(1,3,value) tf.shape(split0)==>[5,10] tf.concat(concat_dim,values,name=’concat’) 沿着某一维度连结tensor t1=[[1,2,3],[4,5,6]] t2=[[7,8,9],[10,11,12]] tf.concat(0,[t1,t2])==>[[1,2,3],[4,5,6],[7,8,9],[10,11,12]] tf.concat(1,[t1,t2])==>[[1,2,3,7,8,9],[4,5,6,10,11,12]] 如果想沿着tensor一新轴连结打包,那么可以: tf.concat(axis,[tf.expand_dims(t,axis)fortintensors]) 等同于tf.pack(tensors,axis=axis) tf.pack(values,axis=0,name=’pack’) 将一系列rank-R的tensor打包为一个rank-(R+1)的tensor #‘x’is[1,4],‘y’is[2,5],‘z’is[3,6] pack([x,y,z])=>[[1,4],[2,5],[3,6]] #沿着第一维pack pack([x,y,z],axis=1)=>[[1,2,3],[4,5,6]] 等价于tf.pack([x,y,z])=np.asarray([x,y,z]) tf.reverse(tensor,dims,name=None) 沿着某维度进行序列反转 其中dim为列表,元素为bool型,size等于rank(tensor) #tensor‘t’is [[[[0,1,2,3], #[4,5,6,7], #[8,9,10,11]], #[[12,13,14,15], #[16,17,18,19], #[20,21,22,23]]]] #tensor‘t’shapeis[1,2,3,4] #‘dims’is[False,False,False,True] reverse(t,di
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Tensor flow常用函数非常详细 flow 常用 函数 非常 详细