Tensorflow:转置函数 transpose的使用详解
我就废话不多说,咱直接看代码吧!
tf.transpose
transpose( a, perm=None, name='transpose' )
Definedintensorflow/python/ops/array_ops.py.
Seetheguides:Math>MatrixMathFunctions,TensorTransformations>SlicingandJoining
Transposesa.Permutesthedimensionsaccordingtoperm.
Thereturnedtensor'sdimensioniwillcorrespondtotheinputdimensionperm[i].Ifpermisnotgiven,itissetto(n-1…0),wherenistherankoftheinputtensor.Hencebydefault,thisoperationperformsaregularmatrixtransposeon2-DinputTensors.
Forexample:
x=tf.constant([[1,2,3],[4,5,6]]) tf.transpose(x)#[[1,4] #[2,5] #[3,6]]
tf.transpose(x,perm=[1,0])#[[1,4] #[2,5] #[3,6]]
#'perm'ismoreusefulforn-dimensionaltensors,forn>2 x=tf.constant([[[1,2,3], [4,5,6]], [[7,8,9], [10,11,12]]]) #Takethetransposeofthematricesindimension-0 tf.transpose(x,perm=[0,2,1])#[[[1,4], #[2,5], #[3,6]], #[[7,10], #[8,11], #[9,12]]]
a的转置是根据perm的设定值来进行的。
返回数组的dimension(尺寸、维度)i与输入的perm[i]的维度相一致。如果未给定perm,默认设置为(n-1…0),这里的n值是输入变量的rank。因此默认情况下,这个操作执行了一个正规(regular)的2维矩形的转置
例如:
x=[[123] [456]] tf.transpose(x)==>[[14] [25] [36]] tf.transpose(x)等价于: tf.transpose(xperm=[1,0])==>[[14] [25] [36]]
a=tf.constant([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]) array([[[1,2,3], [4,5,6]], [[7,8,9], [10,11,12]]]) x=tf.transpose(a,[1,0,2]) array([[[1,2,3], [7,8,9]], [[4,5,6], [10,11,12]]]) x=tf.transpose(a,[0,2,1]) array([[[1,4], [2,5], [3,6]], [[7,10], [8,11], [9,12]]]) x=tf.transpose(a,[2,1,0]) array([[[1,7], [4,10]], [[2,8], [5,11]], [[3,9], [6,12]]]) array([[[1,7], [4,10]], [[2,8], [5,11]], [[3,9], [6,12]]]) x=tf.transpose(a,[1,2,0]) array([[[1,7], [2,8], [3,9]], [[4,10], [5,11], [6,12]]])
以上这篇Tensorflow:转置函数transpose的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。