Tensor flow常用函数非常详细.docx

上传人:b****1 文档编号:2422619 上传时间:2022-10-29 格式:DOCX 页数:21 大小:36.24KB
下载 相关 举报
Tensor flow常用函数非常详细.docx_第1页
第1页 / 共21页
Tensor flow常用函数非常详细.docx_第2页
第2页 / 共21页
Tensor flow常用函数非常详细.docx_第3页
第3页 / 共21页
Tensor flow常用函数非常详细.docx_第4页
第4页 / 共21页
Tensor flow常用函数非常详细.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

Tensor flow常用函数非常详细.docx

《Tensor flow常用函数非常详细.docx》由会员分享,可在线阅读,更多相关《Tensor flow常用函数非常详细.docx(21页珍藏版)》请在冰豆网上搜索。

Tensor flow常用函数非常详细.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1